程序员的修炼之道:从小工到专家 读书笔记二
注重实效的途径
重复的危害:
重复师怎么发生的呢?
1.强加的重复:开发者无可选择的重复。
2、无意的重复:开发者没有意识到自己的重复。
3、无耐性的的重复:开发者偷懒,因为那样可能会很简单。
4.开发者之间的重复:同一团队之中的几个人的重复。
注意避免重复,注意自己的代码,并多与同一团队的人沟通好。
正交性
什么是正交性?
在计算机技术中,正交性表示某种不相互依赖性,如果两个事物或者多个事物发生变化而不改变、不影响其他事物。说明这些事物是正交的。
就好比在设计良好的系统中,数据库代码和用户界面是正交的,你可以改动界面,而并不影响数据库,更换数据库,而不改动界面。
而非正交系统,你的工作负担异常的大,你的手脚不停的动,是同平衡所有相互影响的力量。这样的系统不可取。
正交系统的好处:可以提高生产率并降低风险。
提高生产率
1.当你增加新的代码时,不用不断地改动已有的代码。2.正交的途径还可促进复用。
降低风险
1.正交的途径可以降低任何开发中的固有风险。2.有问题的代码被隔离开来,修改更容易。3.使得系统更加健壮。4.正交系统可能能得到更好的测试
项目中存在一个现象:在讨论改动需求时,涉及到的人越多,团队的正交性越差。
在设计上,每个人都认为需要设计正交性的系统,尽可能地模块化。
如何要求自己实现正交性的代码:
(1). 让自己的代码保持解耦。
(2). 避免使用全局变量,原因是:当代码使用全局变量时,它把自己与共享该数据的接口绑定在一起了。对数据进行获取时,比较麻烦。特别是当你的代码要改变成多线程调用时,很容易出错。
(3). 避免编写类似的函数。