正交性法则——提升软件生产率的又一利器
正交性法则,听起来有些晦涩难懂,但实际上它就是表示一种不互相依赖的关系。
我们可以想象两条垂直相交的直线,其中一条直线上的任意一个点在另一条直线上的投影位置都是相同的。这意味着两条直线上的点都是不相互依赖的。
这就是正交性法则。
如果我们在一个软件项目中应用正交性法则,可以极大的提升软件生产率。
项目团队
正交性法则在项目团队中的应用,主要体现在职责分配上。
如果项目团队成员的职责分配不清晰,同一个职责与两人或多人都相关,那么在执行起来就会出现混乱——你不知道究竟找谁来负责这件事。
如果应用了正交性法则,职责归属清晰,那么在处理事情的时候,只需要找与事情相关的责任人进行讨论即可,少了很多推诿和扯皮,这会极大地提高效率。
设计
软件设计早就已经应用了正交性法则。无论是结构化设计还是面向对象设计,都要应用模块化设计。这里的模块指的就是那些高内聚、低耦合,功能独立的模块。
模块化设计的好处就是当一个功能发生改变时,它只会影响到一个模块。
编码
软件的模块化设计已经为编码应用正交性法则打下了基础。除此以外,编码要避免降低正交性的风险,还可以采取以下一些措施:
避免使用全局数据。
让你的代码保持解耦。
避免编写相似的函数。
文档
如果把正交性法则在文档上可以有两方面的应用:其一是文档的内容和形式是正交的,就是说文档的形式可以改变,但文档的内容都要满足同一个要求;其二是文档之间是正交的。一个项目不同的两个文档之间的内容不应该有重复的内容。
总之,如果我们在软件开发项目中能够贯彻正交性法则,就会帮助我们提升软件生产率。
这正是:
正交法则不难懂,互不依赖认识清
软件项目若贯彻,提升效率必然成
参考书目:程序员修炼之道:从小工到专家,作者:(美)亨特(Hunt,A.),(美)托马斯(Thomas,D.),出版社:电子工业出版社
赞 (0)