【程序员修炼之道】-【第二章】-【注重实效的途径】-【重复的危害】
经十东路程序员 人气:0给予计算机两项自相矛盾的知识,在星际迷航中舰长喜欢用这种方式是人工智能生命失效,遗憾的是,这种原则同样也能使你的代码失效。。。
作为程序员,我们收集、组织、维护和利用知识,在规范中记载知识,在代码中表现知识。遗憾的是知识并不稳定,它变化很快,你对需求的理解可能随着与客户的会谈而发生变化、财务制度的变化使你不得不遵循并作出改变等等,所有这些不稳定都意味着我们要花很大一部分时间在维护上,重新组织和表达我们系统中的知识。
很多人都认为维护是在应用发布时开始的,维护意味着修正BUG或者增加特性,我们认为这些人错了,程序员需要持续不断的维护,我们的理解持续变化,当我们设计或者编码时,出现了新的需求、应用场景等,不管原因是什么,维护都不是时有时无的活动,而是整个开发过程中的例行事物。
所以,维护是伴随整个开发过程中的,设想如果在代码中存在两处或者多处相同代码,你改变一处,你必须记得改变其他各处。这不是你能否记住的问题,而是你何时能忘记的问题。
可靠的开发软件、并让我们的开发更容易理解和维护的唯一途径是遵循DRP原则:Don't repeat Yourself!这是注重实效的程序员的工具箱里最重要的工具之一。
系统中的每一项知识都必须具有单一、无歧义、权威的标示。
重复是怎么发生的:
1、强加的重复
2、无意的重复:多个api触发相同字段实现同一功能
3、无耐性的重复:父类的继承修改直接复制代码,觉得这样更容易
4、开发者之间的重复:几个人实现了同一功能
加载全部内容