美文网首页
阅读《重构_改善既有代码的设计》

阅读《重构_改善既有代码的设计》

作者: 薛云龙 | 来源:发表于2017-03-28 17:39 被阅读15次

    1.重构
    对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提供起可理解性,降低其修改成本。重构是“整理代码吗”,其实整理代码是重构的第一步,首先你要把字面尚的一些不规范调整过来。
    2.属性控制内置
    对于一个对象自身的属性,控制权需要交给这个自身对象控制。尽量不要交给外部对象控制。
    比如有一个book对象,书的发布状态的判断,尽量交给这个book的method来处理,而尽量不要在外部函数调用时,进行书的发布状态判断。
    2.条件判断转为state模式
    3.通过子类隔离变化
    4.修改接口
    修改接口时,对于那些完全在你自己函数中调用的,你可以随便改。但是对于那些,已经发布的或者别其他不能修改的模块代码调用的接口,就不能随便修改接口了。正确的姿势应该是老接口调用旧接口,同样应该使用java中的deprecated,这么,其他调用者就会注意到它。同样,不能接口的函数实现,那么将出现重复代码。
    5.无法进行重构的系统
    无法重构的时候,就需要进行重写了,重写的讯号,现有代码根本不能正常运作了。重写的一个方法:将“大块头软件”重构为封装良好的小型组件。然后再逐一对组件作出“重构或者重写”的决定。
    6.代码的坏味道
    duplicated code(重复代码),long method(过长函数),large class(过大的类),long parameter list(过长参数列),shotgun surgery(霰弹式修改) lazy class ,speculative generality(夸夸其谈未来性,这是最近做项目想犯的错误,如果所有的装置都会被用到,那就值得做,如果用不到,那就不值得),
    7.重构方法

    相关文章

      网友评论

          本文标题:阅读《重构_改善既有代码的设计》

          本文链接:https://www.haomeiwen.com/subject/bsnjottx.html