重构文章

 

 

也许大家每天都在不经意的做着重构,那么何为重构?如何去发觉需要重构的代码呢?何时去重构呢?下面我为和大家简单谈一下以上的问题!

 

 

重构的定义:对软件现有结构的一种调整,目的是在不改变软件功能的前提下,提高其可理解性及降低其修改成本,并在一定程度上提高其速度。

 

现在大家已经理解重构是什么了,那么我们如何找到需要重构的代码呢?

以下我简单举出几例:

1.       重复的代码;

2.       过长函数;

3.       过大类;

4.       过长参数列;

5.       数据泥团;

6.       过多的注释。

等等

下面我们逐一解释一下:

 

 

重复的代码:

       同一个项目中看到相同的程序结构

       1 public int GetNumber1(int number1,int number2)

                     {

                            Return number1+number2;

}

看到这个简单的方法大家应该觉得没有什么问题

Public int GetNumber2(int number1)

{

       Return numver1+0;

}

                     咱们这两个方法出现在同一项目的不同功能class中,大家觉得这个合理吗!

              解决方法:

                     将重复代码提炼到一个独立的class,然后在另外几个class中调用

 

过长函数:

       如果我现在拥有一个这样的方法:

              Public string GetAA()

              {

                     String bb=””;

                     For(int i=0;i<11;i++)

                     {

                            For(int j=0;j<11;j++)

                            {

                                   For(int j=0;j<11;j++)

       {    

              .

              .

              .                   

                                   }

}

 

}

}

一年后,我在来看这段代码,我肯定不能在短时间内看懂。

大家想想连我自己都不愿意以及看不懂的东西,那换成别人呢?

过大类:

       单个class实现太多功能

 

过长参数列:

       如果一个方法拥有太多参数,那用的人会累死。。。。

 

数据泥团:

       说不出来,举个例子吧!

       Class aa

       {

Public string InsertOrder(string ordercode , string money , string num , string userCode)

              {

                    

                    

                        

}

Public string UpdateOrder(string ordercode , string money , string num , string userCode)

{

                    

                    

                        

}

}

这段代码有什么问题呢?

对,相同的数据项重复出现。

 

过多的注释:

也许很多人会觉得这很荒谬。你看到一段代码有着长长的注释,然后发现这段注释之所以出现是因为代码很糟糕。以下是建议部分:

      

当你感觉需要撰写注释,请先尝试重构,试着让所有注释变的多余。

 

 

上面我们既然知道重构是什么,也找到部分需要重构的代码,那我们什么时候改它呢?

      

 

书上看到一条准则,简单复述一下;

第一次做一件事只管去做,第二次做类似的事情就会产生反感,第三次在做类似的事情你就应该重构

 

既然已经开始准备重构了,那我们总该找些时间。常常有人问我们应该怎样安排重构时间表?那我们是不是每两个月就专门安排几个星期去做重构呢?以下我们谈一下怎样安排时间去重构:

1.  添加功能时一并重构

2.  修补错误时。。。。

3.  复审代码时。。。。

 

 

苦思冥想,好不容易想了这么多,希望大家不要齐声说一句:“地球人都知道”

到此打住

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值