正交性
消除无关事物之间的影响,写正交的系统,提高生产率与降低风险。
工具箱与库
当自己引入第三方工具箱和库时,要注意保持系统的正交性,要明智的选择技术。
编码
- 让你的代码保持解耦。
- 避免使用全局数据
- 避免编写相似的函数
测试
正交地设计和实现的系统也更易于测试,因为系统的各组件之间的交互是形式化的和有限的,更多的系统测试可以花在单个的模块级进行,这是好消息,因为与集成测试相比,模块级测试要更容易规定和进行得多。在《构建之法》中也看过软件测试的方法也是一些功能性测试。
重复的危害
系统中的每一项知识都必须具有单一、无歧义、权威的表示。
DRY——Don't Repeat Yourself 不要重复你自己
重复是怎样发生的:
- 增加的重复。开发者觉得他们无可选择——环境似乎要求重复。
- 无意的重复。开发者没有意识到他们再重复信息。
- 无奈性的重复。开发者偷懒,他们重复,因为那样似乎更容易。
- 开发者之间的重复。同一团队的几个人重复了同样的信息。
无奈性的重复很常见,一些功能代码也是直接就Ctrl+C,Ctrl+V弄过来,然后改一改,实际上有好多重复,这就多了很多代码,
当你编码时,不要使用你不熟悉的东西编程,不要靠巧合编程。对原理一知半解,对代码一知半解,想着碰运气,试一试的态度在解决问题,
出了问题后不知所措,找问题的所在之处更是无从下手。
只能更换代码,耗时耗力,还学习不到东西。自己编程时,一直干却不知道怎么表达的感觉,就“靠巧合编程”完善呈现出来了。
没错,仔细想想自己编程,很多时候都是在靠巧合编程,而不是深思熟虑的编程。
所以自己以后写代码的时候一定要注意这个问题,写代码的时候不能偷懒,为了避免以后有更多的麻烦。