《程序员修炼之道:从小工到专家》9月阅读笔记_第二章
第二章 注重实效的途径
本章总结了在软件开发中的想法和途径,中心思想:不要在系统各处对知识进行重复,不要把任何一项知识点分散在多个系统组件中。
1、重复的危害
摘要:
当我们进行维护时,我们必须找到并改变事物的表示——那些嵌在应用中的知识胶囊。
系统中每一项知识都必须具有单一、无歧义、权威的表示。
DRY —Don't Repeat Yourself
不要重复你自己
Make it Easy to Reuse
让复用变得容易
概要:
本章主要讲述了几种情况下的重复,对于强加性的重复我们可以使用简单的代码生成器;对于无意的重复,我们应保持“行为良好”,规范代码;对于无耐性的重复,我们需要接受训练并愿意为避免以后的痛苦而预花一些时间;对于开发者之间的重复,作者认为处理这个问题最佳方式是鼓励开发者相互进行主动的交流,设置论坛,互惠访问学习。
2、正交性
摘要:
在计算技术中、该术语用于表示某种不相依赖性或是解耦性如果两个或更多事物中的一个发生变化、不会影响其他事物、这些事物就是正交的,在设计良好的系统中。数据库代码与用户界面是正交的:你可以改动界面.而不影响数据库;更换数据库,而不用i改动界面。
Eliminate Effects Between Unrelated Things
消除无关事物之间的影响
概要:
正交性可以提高生产率,降低风险,使团队分工更加明确,为了确保程序的正交性,我们可以通过让代码保持解耦、避免使用全局数据,避免编写相似的函数等。