|
|
|
|
移动端

40 实行代码集体所有制

《高效程序员的45个习惯:敏捷开发修炼之道》本书总结并生动地阐述了成为高效的开发人员所需具备的 45个习惯、思想观念和方法,涵盖了软件开发进程、编程和调试工作、开发者态度、项目和团队管理以及持续学习等几个方面。本节为大家介绍实行代码集体所有制。

作者:钱安川/郑柯 译来源:人民邮电出版社|2010-03-04 08:57

开发者盛宴来袭!7月28日51CTO首届开发者大赛决赛带来技术创新分享

40 实行代码集体所有制

"不用担心那个烦人的bug,Joe下周假期结束回来后会把它解决掉的。在此之前先想个权宜之计应付一下吧。"

任何具备一定规模的应用,都需要多人协作进行开发。在这种状况下,不应该像国家宣称对领土的所有权一样,声明个人对代码的所有权。任何一位团队成员,只要理解某段代码的来龙去脉,就应该可以对其进行处理。如果某一段代码只有一位开发人员能够处理,项目的风险无形中也就增加了。

相比找出谁的主意最好、谁的代码实现很烂而言,解决问题,并让应用满足用户的期望要更为重要。

当多人同时开发时,代码会被频繁地检查、重构以及维护。如果需要修复bug,任何一名开发人员都可以完成这项工作。同时有两个或两个以上的人,可以处理应用中不同部分的代码,可以让项目的日程安排也变得更为容易。

在团队中实行任务轮换制,让每个成员都可以接触到不同部分的代码,可以提升团队整体的知识和专业技能。当Joe接过Sally的代码,他可以对其进行重构,消除待处理的问题。在试图理解代码的时候,他会问些有用的问题,尽早开始对问题领域的深入理解。

另一方面,知道别人将会接过自己的代码,就意味着自己要更守规矩。当知道别人在注意时,一定会更加小心。

可能有人会说,如果一个开发者专门应对某一个领域中的任务,他就可以精通该领域,并让后续的开发任务更加高效。这没错,但是眼光放长远一点,有好几双眼睛盯着某一段代码,是一定可以带来好处的。这样可以提升代码的整体质量,使其易于维护和理解,并降低出错率。

要强调代码的集体所有制。让开发人员轮换完成系统不同领域中不同模块的不同任务。

切身感受

项目中绝大部分的代码都可以轻松应对。

平衡的艺术

不要无意间丧失了团队的专家技能。如果某个开发人员在某个领域中极其精通,不妨让他作为这方面的驻留专家,而且系统的其他部分代码也对他开放,这样对团队和项目都很有帮助。

在大型项目中,如果每个人都可以随意改变任何代码,一定会把项目弄得一团糟。代码集体所有制并不意味着可以随心所欲、到处破坏。

开发人员不必了解项目每一部分的每个细节,但是也不能因为要处理某个模块的代码而感到惊恐。

有些场合是不能采用代码集体所有制的。也许代码需要某些特定的知识、对特定问题域的了解,比如一个高难度的实时控制系统。这些时候,人多了反而容易误事。

任何人都可能遭遇到诸如车祸等突发的灾难事故,或者有可能被竞争对手雇佣。如果不向整个团队分享知识,反而增加了丧失知识的风险。

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

《网管员必读——网络管理》

本书在全面介绍微软最新网络操作系统Windows Server 2003的基础上,简要地介绍了UNIX和Linux两大操作系统的代表产品:Sun(太阳)公司的Sol...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊