程序员修炼之道读书笔记2

       本书第二章为注重实效的途径。

       在“重复的危害”部分提到,维护并非只是在应用发布时开始,并非只意味着修正bug和增强特性,维护不是时有时无的,而是整个开发过程中的例行事务。可靠的开发软件,并让我们的开发更易于理解和维护的唯一途径,是遵循我们称之为DRY的原则:系统中的每一项知识都必须具有单一、无歧义、权威的表示。重复分为四种,第一种,强加的重复,对此,可以采用的技术如下:信息的多种表示(编写简单的过滤器或代码生成器),代码中的文档(给代码加注释),文档与代码(用程序方式,根据文档本身生成测试),语言问题。第二种,无意的重复。第三种,无耐性的重复。第四种,开发者之间的重复。提示12,让复用变得容易。

  在“正交性” 部分,给出了提示13,消除无关事物之间的影响。提出了维护正交性的几种方法:1、让你的代码保持解耦 2、避免使用全局数据 3、避免编写相似的函数。

  在“可撤销性”部分,给出了提示14,不存在最终决策。

  在“曳光弹”部分,给出了提示15,用曳光弹找到目标。曳光代码有许多优点,如:用户能够及早的看到能工作的东西,开发者构建了一个他们能在其中工作的结构,你有了一个集成平台,你有了可用于演示的东西,你将更能够感觉到工作进展。

  在“原型与便笺”部分,给出了提示16,为了学习而制作原型。告诉我们在构建原型时,可以忽略哪些细节,如:正确性,完整性,健壮性,风格。

  在“领域语言”部分,给出了提示17,靠近问题领域编程。提到了表示法定义语法BNF。

  在“估算”部分,给出了提示18,估算,以避免发生意外。基本的估算诀窍是仔细寻找周围也曾处在类似情况下的人,看他们的问题是怎么解决的,之后要理解提问内容,建立系统的模型,把模型分解为组件,给每个参数指定值,计算答案。在估计项目进度时,给出了提示19,通过代码对进度表进行迭代。

原文地址:https://www.cnblogs.com/songxinai/p/11722331.html