项目总结

进行到这里,希望“花半分钟重构代码并做到行为保持”,以及“旧的不变,新的创建”的重构心法两件事你已经不仅记在脑海,而且已经养成了下意识的习惯:改完代码,不跑一下测试总觉得浑身难受,少了点什么似的。重构本就应该是日常开发的阳光空气,它的发生如此自然,自然到你不需要特别去感知它的存在,却一直在依赖它,因它受益。

在这个项目里,我们了解到“对象健身操”的 9 条可执行的实用建议,结合《重构》一书里讲授的坏味道和手法,我们掌握了将各种代码元素(基本类型、对象、数组等)重构成面向对象代码的手法和步骤。这些手法步骤较多,组合性较强,但并没有难倒我们。

在这个过程中,我们做了下列练习:

  • 用“分解条件表达式”、“以卫语句取代嵌套条件表达式”的手法拒绝了else关键字;

  • 掌握了基本的“封装变量”手法,它是其他对象提炼手法的基础;

  • 利用“以对象替代基本类型”,创建了一个基本的对象世界、消除了许多基本类型;

  • 利用“封装记录”,将复杂的对象操作封装对应的对象中;

  • 利用“封装集合”,将复杂的集合操作封装对应的对象中;

  • 了解了每一条“对象健身操”的诫条如何与坏味道对应,当用何种手法处理之。

其中“封装变量”几乎是其他手法的起手式。重构它的手法遵循“十六字心法”,它同时也成为其他手法处理变量的基石。在这个过程,我们学习了重构手法之间的互相组合,包括提炼/内联等反向变换,重构能力也因此迈上更高的台阶。

重构的核心一直很简单,无非三点:遵循坏味道、行为保持的手法、频繁运行测试,但细节来源于严肃的打磨。要安全地开展重构,要更得心应手地组装起各种重构手法,要让重构发挥出水滴石穿的力量,无非一直坚持遵守这几个核心的细节,重视手速和快捷键的基本功,勤加练习,如是而已。

Last updated