这次我读了《程序员修炼之道》的第二章的一部分,主要是进行了一些摘抄总结。
7.重复的危害
强加的重复。开发者觉得他们无可选择——环境似乎要求重复。
无意的重复。开发者没有意识到他们在重复信息。
无耐性的重复。开发者偷懒,他们重复,因为那样似乎更容易。
开发者之间的重复。同一团队(或不同团队)的几个人重复了同样的信息。
你所要做的是营造一种环境,在其中要找到并复用已有的东西,比自己编写更容易。如果不容易,大家就不会去复用。而如果不尽兴复用,你们就会有重复知识的风险。
8.正交性
正交的好处:
提高生产率:改动得以局部化,开发时间和测试时间得以降低;促进复用;
降低风险:有问题的代码区域被隔离开来;所得系统更健壮;能得到更好的测试;不会与特定的供应商、产品、或是平台紧绑在一起。
工作中应用正交原则的几种方式:
项目团队;设计;工具箱与库;编码;测试;文档。
维持正交性的技术:
让你的代码保持解耦;避免使用全局数据;避免编写相似的函数。