代码的坏味道
摘要:【代码的坏味道】1、Comments(过多的注释)。高频。 2、Refused Bequest(被拒绝的遗赠)。高频。 3、Data Class(纯数据的类)。高频。 4、Message Chains(过度耦合的消息链) 5、Switch Statement。
阅读全文
Divergent Change & Shotgun Surgery
摘要:【Divergent Change】 【Shortgun Surgery】
阅读全文
Long Method
摘要:【Long Method】 拥有短函数的对象会活得比较好、比较长。 程度愈长愈难理解。 函数名就是注释。
阅读全文
重构与设计
摘要:【重构与设计】 有了设计,我可以思考得更快,但是其中充满小漏洞。 XP提倡不做设计而完全依赖重构。 设计与重构相结合。 哪怕你完全了解系统,也不要猜测性能瓶颈。
阅读全文
接口修改难题
摘要:【何时重构】 已发布接口和公开接口。 不要过设计,同项目内成员应能互相修改各自代码。
阅读全文
何时重构
摘要:【何时重构】 重构应该无时不刻。 三次法则。 当无法轻松地添加新特性时,就该重构了。 Code Review时提出重构。 什么让程序如此困难,我们该如何做?
阅读全文
何谓重构
摘要:【何谓重构】 重构的名词解释。 重构的动词解释。 【两顶帽子】
阅读全文
使用状态模式来重构Switch语句
摘要:【使用状态模式来重构Switch语句】 以下代码在一个Switch中处理了多个情况,当case越来越多或每个case逻辑越来越多时,会产生臃肿难以维护的代码。 状态模式常用于优化Switch的此种弊病。重构手段一,使用继承。 继续优化,使用状态模式。 这里使用的重构技术叫 Rep...
阅读全文
将函数放在它所使用数据所属的对象内
摘要:【将函数放在它所使用数据所属的对象内】 对于以下代码:
阅读全文
Name Refractor
摘要:【Name Refractor】 下图代码的命名不够好。 改名后,程序更加清晰了。
阅读全文
将长的离谱的方法大卸八块
摘要:【将长的离谱的方法大卸八块】 代码块愈小,功能愈容易管理。 将代码拆成更小的代码移至更适合的类。 可使用的重构方法有:Extract Method。 下述代码块是一个函数的其中一部分代码,可以 Extract 成一个单独的 Method。 提取后的方法如下: 重构技术就是...
阅读全文
重构
摘要:【重构】1、重构和空气与水一样普通。 2、重构技术在2000年左右出现。 3、学会使用重构的各种技术与工具。 4、没有单元测试和重构无法写出优美的代码。 5、代码被阅读和修改的次数远远多于它被编写的次数。 6、重构有风险。 7、每次只进行一小步重构。 8、现实之下,项目经理与重构的...
阅读全文