代码共享:在通过测试的前提下,任何一个人都能够对系统做出修改。
代码共享不单单是对代码阅读修改权限的一个共享,而是一种知识的共享。要想做到在通过测试的前提下,任何一个人都能够对系统作出修改,是需要很多前提的:
l 代码的编写规范是一致的
l 代码的可阅读性
l 熟悉代码对内、对外接口的定义
l 人员的开发技能
在敏捷开发、极限编程的其他几个原则中都已经为实现代码共享作了各种准备工作,例如,简单设计、重构增强了代码的可阅读性,配对编程通过工作方式上的压力实现了深层次的知识共享,编码标准使得代码的编写规范是一致的。
对于研发人员来说,谁都愿意能够学的更多一些,掌握更多的开发技能,这样对自己的职业生涯也是有很大帮助的。然而,在实际的情况中,因为进度的压力,不可能给每个人充足的时间去锻炼成为全才;因为人性,大家都希望自己成为“不可替代”的人而不愿将自己的知识共享;因为技术发展的速度越来越快,我们的精力仅仅够我们成为专业人才而不是全才……。于是,代码共享也就成为了大家都愿意去想(其实作为公司,是最乐意的,这样可以减少人员流失带来的问题),但是却仿佛“永远”难于做好的一件事情。可以这样说,如果没有配对编程,就很难实现代码共享原则。配对编程本来就已经是难于实现了,那么代码共享自然就是难上加难了!