通过阅读《程序员修炼之道--从小工到专家》我又有了更深的理解与收获。作为程序员,我们收集、组织、维护和利用知识。我们在规范中记载知识、在运行的代码中使其活跃起来并将其用于提供测试过程中所需的检查。如果我们改变其中一处,必须记得改变其他各处。或者,就像那些异型计算机,程序将因为自相矛盾而被迫屈服。
重复通常是有以下几种情况:
1、强加的重复。开发者觉得他们无可选择--环境似乎要求重复。
2、无意的重复。开发者没有意识到他们在重复信息。
3、无耐性的重复。开发者偷懒,他们重复,因为那样似乎更容易。
4、开发者之间的重复。同一团队(或不同团队)的几个人重复了同样的信息。
我们需要做到的是营造一种环境,在其中要找到并复用已用的东西,比自己编写更容易。而如果不进行复用,我们就会有重复知识的风险。