程序员修炼之道---途径1:重复的危害.rtf

来源:互联网 发布:软件著作权补助 编辑:程序博客网 时间:2024/05/04 14:18
1.DRY对程序员来说,维护并不仅仅是修正bug或者增强特性。程序员必须不断地维护,它是整个项目开发过程中的理性事务。但是,知识在系统中的重复简直就是维护的噩梦。所以我们觉得,开发可靠的软件,并且让软件更容易理解和维护的唯一途径:遵循DRY原则:"系统中的每一项知识都须具有单一,无歧异,权威的表述"DRY:Dont repeat Yourself.(注重实效的程序员工具箱的基本工具)2.重复是怎样发生的?-强加的重复:imposed duplication-无意的重复:inadvertent duplication-无耐性的重复:impatient duplication-开发者之间的重复:interdeveloper duplication3.强加的重复如何避免这种强加的重复?-信息的多种表示:编写简单的过滤器和代码生成器,从原数据中提取信息。-代码中的文档:把低级的知识放在代码中,把注释保留给其他的高级说明。-文档和代码:代码和文档的schema尽可能的放在一起,这样保证代码修改的同时方便修改文档。-语言问题:用头文件记录接口问题,用实现文件记载代码中无须了解的实现细节。4.无意的重复可能来自设计中的错误。(在java/C++这样的面向对象语言中,在有可能的情况下,尽可能的用Accessor函数来读写对象的属性。)5.无耐性的重复copy原来的,现有的代码,或者做一点点改动。容易检测,和处理的重复形式,但那需要训练,并愿意为避免以后的痛苦而预先花一些时间。"欲速则不达"6.开发者之间的重复解决这个问题的最好方式,-清晰的设计,强有力的技术项目领导-开发者之间项目进行主动的交流-阅读别人的源码和文档。"Make It Easy to Reuse."(如果不容易,大家就不去复用,就不能避免重复知识的风险)所以,让服用变得容易使解决问题的根本办法。
原创粉丝点击