题图来自《一禅小和尚》,修改遗留代码是一场修行。
遗产是已经死亡的事物存留下的依旧影响着世界的那部分。
能留下遗产的生命是优秀的,但是软件并非如此。我们用温和的词语“遗留”来形容那些已经失去活力但是依旧运行的代码。
软件和硬件要区分对待。我们称硬件为“硬”是因为它是固定的,没有工具是无法调整的。软件的“软”是指它由思想而生,通过代码来表达,加载到硬件中然后行使一些职责。讽刺的是,代码在编写完成脱离开发者之后变得比硬件还难修改。
每天,我们都会因为遗留代码而损失时间、金钱和机遇。
不同的人对“遗留代码”有着不同的定义,但是简而言之,遗留代码就是指因为种种原因,格外难以修正、改进以及使用的代码。这样的代码有很多。实际上所有生产环境下的软件几乎都是遗留代码。
对于遗留代码,没有简单的答案,没有快速的修复方式。这个问题在软件行业的普遍性,以及对软件产业造成的损失是非常惊人的。一个如此巨大的问题让我们需要退后一步,从完全不同的角度去审视它。如果过去实施的方法并未奏效,那么我们也许需要寻找其他的解决方案。
今天分享的这本书综合并彻底审视极限编程、Scrum和精益等敏捷方法论,开头彻底剖析遗留代码,而后给出9种实践方法。能够切实地帮助开发人员降低构建与维护软件的成本。
为何推荐本书?真的很赞!
这本书在亚马逊得到了开发人员的全五星好评,Wiki之父、设计模式和敏捷开发方法先驱 Ward Cunningham 作序推荐了本书。
正如本文标题所说,立即开启本书 —— 与又臭又硬的遗留代码说再见!
作者:David Scott Bernstein
译者:李满庆
定价:55.00元 / 电子书:27.5元
Wiki之父、设计模式和敏捷开发方法先驱 Ward Cunningham 作序推荐
美国亚马逊全五星好评,深受程序员认可的代码设计与重构之道
作者 David Scott Bernstein 30年软件开发经验总结
揭示高质量软件的秘密,阐述真正的敏捷开发之道
当当 6.9 折最后时刻
目录概览
本书赞誉
序
引言
致谢
第一部分 遗留代码危机
第 1 章 有些事情不对劲
第 2 章 逃出混乱
第 3 章 聪明人,新想法
第二部分 延续软件生命(和价值)的9种实践方法
第 4 章 9个实践
第 5 章 实践1:在问如何做之前先问做什么、为什么做、给谁做
第 6 章 实践2:小批次构建
第 7 章 实践3:持续集成
第 8 章 实践4:协作已购买
第 9 章 实践5:编写整洁的代码
第 10 章 实践6:测试先行
第 11 章 实践7:用测试描述行为
第 12 章 实践8:最后实现设计
第 13 章 实践9:重构遗留代码
第 14 章 从遗留代码中学习
参考文献
赠书活动
@Dave Thomas 和 @Andy Hunt 在《程序员修炼之道》提到了“软件考古学”。当我们面对一个多年前构建的、没有文档、变量命名糟糕的软件时,有时候会觉得,考古学家在从一块陶片中窥视一个失落文明的秘密时一定也是这种感觉。简直是无以为继!
小伙伴们,留言说说你的软件考古经历!老规矩,精选留言挑选 3 位读者,赠送《修改软件的艺术:构建易维护代码的9条最佳实践》。有了本书作为考古装备,相信你的考古将有重大突破。
截止 11 月 6 日 14:00。
【阅读原文】图灵社区试读《第2章 逃出混乱》