《修改代码的艺术》读书笔记2

  这本书看了几天,讲解了如何在不漂亮的旧代码下写漂亮的新代码,依照先有测试后有功能的思想,作者全书都围绕如何让代码可测试展开。

  如果旧代码特差,而又时间紧迫,不足以把旧代码纳入测试,通常是让新代码跟旧代码独立开。这可能需要用上继承,会让代码有不必要的层次,这没关系,重构一直在进行,只要代码纳入了测试,以后就可以把它们去掉。

  让代码纳入测试,很多时候是说能够用伪造的东西替换真实的东西,这个伪造的东西是测试用的。可以有很多种修改方法让代码能有单元测试,主要有几类方法:预处理期、链接期、修改代码(对象、方法的替换)。

  新写的代码大多是可以先进行测试,然后再挂接到原有代码中.而对付遗留的代码,我们则需要一点点地把代码抠出来测试.修改遗留代码时,我们需要将代码解依赖出来,建立其测试,然后才对它进行修改。

  并不是所有的重构手法都需要测试,特别是我们已经有了自动化的重构工具书中说的一些解依赖技术就是一些特殊的重构技术只要我们小步地前进,细心地操作,并借且自动化重构工具,无须测试就能进行重构,而这些重构技术的目标就是为重构出来的代码建立测试,一旦测试建立,则可对代码进行更为自信的修改,则可对代码进行更自信的进一步重构。

  看这本书需要有大工程代码的修改经历,不然会觉得很无趣,我现在就有点无趣,跟第一次看设计模式一样的感觉。

posted @   睡觉不困  阅读(32)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示