VS2010重构学习总结

VS2010代码重构


Vs2010重构工具针对C#提供以下方式:
1. 重命名
2. 将方法中的代码提取成新的方法。默认情况是private statid void
3. 将私有变量提取为属性
4. 提取接口
5. 删除方法中的参数
6. 修改方法中的参数,参数顺序
 clip_image002[4]
Rename

快捷键:Ctrl+R,R


namespace CSharpTest
{
    class Test1
    {
        public void TT1()
        {
            Console.WriteLine("Hello");
        }

    }


class Program
{
    static void Main(string[] args)
    {
            Test1 t = new Test1();
            t.TT1();
    }
    }
}

namespace CSharpTest
{
     class Test1
     {
         public void TT()
         {
             Console.WriteLine("Hello");
         }
  
     }
     class Program
     {
         static void Main(string[] args)
         {
             Test1 t = new Test1();  
             t.TT();
         }
     }
}
Extract Method
快捷键:Ctrl+R,M
class Test1
     {
         public void TT()
         {
             Console.WriteLine("Hello");
         }
  
     }
     class Program
     {
         static void Main(string[] args)
         {
             Test1 t = new Test1();
  
             t.TT();
         }
     }
 clip_image006
class Test1
     {
         public void TT()
         {
             PrintHello();
         }
  
         private static void PrintHello()
         {
             Console.WriteLine("Hello");
         }
  
     }
     class Program
     {
         static void Main(string[] args)
         {
             Test1 t = new Test1();
  
             t.TT();
         }
     }
Encapsulate Field
快捷键:Ctrl+R,E
       private string name;
        public string Name
         {
             get { return name; }
             set { name = value; }
         }
Extract Interface
快捷键:Ctrl+R,I
 clip_image008
提取接口,必须选定一个函数进行多态
Remove Parameters
快捷键:Ctrl+R,V
        public void Test1(int id,int number,int score)
         {
             Console.WriteLine(id);
             Console.WriteLine(number);
             Console.WriteLine(score);
         }
       t.Test1(1, 1000, 90);
 
删除number
        public void Test1(int id, int score)
         {
             Console.WriteLine(id);
             
             Console.WriteLine(score);
         }
       t.Test1(1, 90);
Reorder Parameters
快捷键:Ctrl+R,O
       public void Test1(int id,int number,int score)
         {
             Console.WriteLine(id);
             Console.WriteLine(number);
             Console.WriteLine(score);
         }
 
       t.Test1(1, 1000, 90);
把number和score调换位置
        public void Test1(int id, int score, int number)
         {
             Console.WriteLine(id);
             Console.WriteLine(number);
             Console.WriteLine(score);
         }
       t.Test1(1, 90, 1000);
========

图解VS.NET 之重构操作方法

http://blog.csdn.net/anyqu/article/details/7453590

用了很多年的VS,竟然不知道里面的重构,呵呵,BS自己一下。下边把这个过程写下,送给和我

一样的人。

1、重命名

以前就是直接在上边改,现在可以用这个来设置,传说可以将所有引用的部分一起修改过来。测试

了一下,确实如此,省得一次次编译一个个找。

2、提取方法

所谓的提取方法,个人认为说白了就是把函数复制一份,至于其它的本人愚顿没想到。

写上新名就可以了!

3、封装字段

封装字段是用来实现访问器的(个人认为),所以需要对类的属性进行重构,而对方法中的参数进

行此操作时会提示“请选择要进行封装的字段定义”对话框。

这个方法可以帮助写代码的快速生成属性,但有一个缺点就是一次只能做一个。网上已经有一次生

成多个的插件。有用的人自己到网上一搜即可。

4、提取接口

给懒汉设置的功能(哈哈),类写完,要生成个接口,选此功能即可。

生成的接口如下图。注意:选择此功能后,VS会将你选择的类自动继承你生成的接口。

其实下面的几个功能相对非常简单,容易理解了。不过为了保持完整性就一起放进来吧!

5、将变量提升为参数

唯一需要注意的就是要选择定义的变量,没有声明符的是不行的。
6、移除参数

7、重新排列参数

就是把参数按你需要的要求换来换去(没理解为什么要这么做)
========

重构前VS重构后效果对比


http://blog.csdn.net/pistolove/article/details/42554641

        学习重构已经一个多月了,虽然不能让代码特别的整洁、高大尚,但是相比之前写的代码,

感觉自己进步很大。特别是我会尽量地减少成员变量的数量,让方法变得短小,减少临时变量的数

量.........这些在本文之前的重构方法中都有涉及,我想也许这就叫做学以致用吧。不知你是否也和

我一起同在学习、努力,不知你从这些重构文章中是否有所收获。但是,我想,不管怎么,还是希

望你也能不断努力、进步、提高自己。
        下面所示代码中,重构前的代码是2个月之前写的,可以看见冗赘的成员变量,这会扰乱你

的思维;再看看前几周经过重构后的代码,效果会很明显。不管是谁,我想你一定会比较喜欢看下


方重构后的代码吧。少量的成员变量,简短的方法,理解起来也更加地容易。
        那么,为什么我们不学习重构呢?为什么不对自己的代码进行重构呢?


重构前:
========

VS重构重命名的快捷键


Visual Studio中默认字段、局部变量、方法、命名空间、属性和类型的重命名快捷键是Ctrl+R+R


。使用快捷键比起使用鼠标右键点击菜单来操作便捷的多,所以掌握好重命名快捷键也是提高编码

效率的一个重要技巧。

选择重构后的重命名菜单命令

MSDN对于VS2008快捷键的说明(虽然是2008,但是对于其他版本比如2010/2012/2013来说相

差也不会太多):https://msdn.microsoft.com/zh-cn/library/ms366739(v=vs.90).aspx

命令名

快捷键

说明

重构.封装字段

Ctrl + R,E

显示“封装字段”对话框,该对话框允许从现有字段创建属性,并更新所有引用以使用新属性。

重构.提取接口

Ctrl + R,I

显示“提取接口”对话框,该对话框允许使用从现有类、结构或接口派生的成员创建新接口。

重构.提取方法

Ctrl + R,M

显示“提取方法”对话框,该对话框允许从选定的代码中创建新方法。

重构.将局部变量提升为参数

Ctrl + R,P

将变量从局部使用移动至方法、索引器或构造函数参数,并正确更新调用站点。有关更多信息,请

参见将局部变量提升为参数。

重构.移除参数

Ctrl + R,V

显示“移除参数”对话框,该对话框可通过更改调用成员的任何位置处的声明,从方法、索引器或

委托中移除参数。有关更多信息,请参见移除参数。

重构.重命名

F2


- 或 -

Ctrl + R,R

显示“重命名”对话框,该对话框允许重命名标识符的所有引用。

重构.重新排列参数

Ctrl + R,O

显示“重新排列参数”对话框,该对话框允许更改方法、索引器和委托的参数顺序。


作者:十有三
出处:http://shiyousan.com/post/635580331379132445
========
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值