文章目录
重复是程序员最可耻的事情,系统中的每一项知识都必须具有单一,无歧义,权威的表示
重复来自于多方面:
-
强加的重复——开发者觉得无可选择,环境要求必须重复。
-
对于信息在系统不同模块的重复表示,我们可以选择,单独维护信息的元数据,使用生产器在系统不同模块生成信息的不同表示。
-
-
代码与文档的重复
-
语言导致的重复,我们在C的.h文件与.c文件中重复。使用头文件描述接口,使用.c文件描述tech details(使用者根本不care)
-
-
无意的重复——根本没有意识到
有时候为了性能问题,而带来重复(缓存)。我们必须使得重复的影响局部化,提供给外界的接口不能重复。 -
无耐性的重复——偷懒,copy
copy一个函数就能解决的问题,你愿意将两个函数重构提炼么?
忍住这样的诱惑,牢记这种偷懒是程序员的耻辱,功利地说,欲速则不达,现在节省的几分钟,将来会损失几小时。 -
开发者之间的重复
交流。
阅读他人的源码与文档,勇敢的展示自己的源码与文档。
核心的核心:Make it easy to reuse