代码重构--大话重构

    项目组推荐了一本书《大话重构》,看完了第一部分之后,结合自己以往重构的认知和经历,这本书给了我很实际的指导。

重新认识重构定义,重构是一项愉快的活动

    重构:系统重构是一套严谨而安全的过程方法,它通过一系列行之有效的方法与措施,保证软件在优化的同时,不会引入新的Bug,保证软件改造的质量。


测试,是重构的保险索

    重构的程序,必须不断的经过测试,保证不改变系统的外部行为,即对外显示的数据;


大布局和小步快跑

    大布局:全面整理系统需求,分析系统功能,再全面设计系统,开发,测试。

    小步快跑:采用一个一个连续不断地小设计,在大规划的前提下,着眼当前设计实现。小步快跑体现了敏捷开发的特点:简单,快速反馈(测试)。

    重构应避免大设计,尽量采用“小步快跑”的设计模式;

    

小步快跑

    这种模式类似于开车,不断地微调方向盘的方向,清楚的指导自己的目的地,再自己航向上,不断地调整。这样的好处,能够及早的发现错误,及时纠正。不断地实现小设计,最终完成重构。

    越近期的计划越细,越远期的规划越粗。


重构是一系列的等量变换

    系统重构要求对代码的修改,不能改变软件的外部行为,因此系统重构的所有方法,都是一种代码的等量变换。像解答数学题一样,使用不同的方式解出相同的答案。


演变过程

public class HelloWord
    {
        public String sayHello(Date now, String user)
        {

            Calendar c;
            int h;
            String s = null;
            c = Calendar.getInstance();
            c.setTime(now);
            h = c.get(Calendar.HOUR_OF_DAY);
            if(h>=6 && h<12){
                s = "Good morning!";
            }
            else if (h >= 12 && h < 19)
            {
                s = "Good afternoon!";
            }
            else {
                s = "Good night!";
            }
            s = "Hi," + user + "." + s;
            return s;
        }
    }


    通过增加注释,调整顺序,重命名变量,分段,抽取方法,抽取类,抽取接口。



这是一个很棒的重构过程;








  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 33
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值