质量保证的六个模式(7
) -
代码拥有者模式
陈能技
2007-10-7
原文:Quality:It's All in the Values – Neil Harrison
我们从研究的组织中发现模式。这些模式形成了动态组成的软件项目组的语言模式。这里有一些模式是跟质量和价值尤其相关的。这些模式是从
Organizational Patterns of Agile Software Development
这本书选出来的。它们包括:
1、 雇用质量保证模式
2、引入客户质量模式
3、客户代表质量模式
4、架构师控制产品模式
5、架构和实现模式
6、代码拥有者模式
代码拥有者模式
如果你需要在角色中内建对代码的责任以及领域知识,那么给大家以代码的整体质量的责任。
以所拥有的为骄傲会导致更高的质量。这在软件开发中也是成立的。在专注于质量的组织,人们对所负责的系统而自豪。实际上,大部分软件对于一个专家来说太大了,因此对代码的拥有分布于员工之间。作为代码的拥有者,你对代码非常了解,能帮助别人理解它,并最终对它的质量负责。当然,你不需要管理所有附加的代码或对代码的修改;事实上,这通常是大家不愿意的。但是你是确保这些代码不会引起重大系统问题的人。
代码责任制与其它领域的责任制是一样的。在我们搬家的时候,我的妻子紧紧地盯着搬运工打包她的精致的瓷器。为了缓解她的神经,搬运工对她承诺她的瓷器会完好无损地到达新家。为了证明他对安全打包的责任,他封好箱子后,清楚地在上面签上他的名字以保证不会损坏。就像你能想象到的,那些瓷器完好无损地到达了新家。
代码拥有模式可以解读为:
如果那是每个人的责任,那么结果是每个人都不会负责。
不是每个人在任何时候都知道所有的东西。即使是架构师也不能熟练地清楚项目的所有方方面面。
因此:
系统的每一个模块都由其中一位开发人员拥有。
注意拥有意味着对质量的责任以及对这个模块的整体架构设计,从而鼓励拥有者要获得对模块的深入理解。