您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件测试管理 > 质量管理 > 正文

健康代码:Google的代码质量管理之道

发表于:2018-06-22 作者:高质量系统 来源:网络转载
在Google公司,有这么一群人,他们自称“健康代码”团队,专门致力于公司内部的软件代码质量管理和改进工作,一起来探究这个团队在做什么:

 

 

 

 Why ?  

良好的编码实践有很多方面,往往超越了很多工程效率部门关注的正常测试和工具领域。例如,代码具有可读性和可维护性,就不仅仅是为了通过测试,而首先是为了更容易地理解和维护代码。但是,如何确保开发工程师遵循了这些好的编码习惯,同时保持他们完成工程决策所需要的独立性呢? 

 

 许多年前,一群Google员工聚集在一起,为了解决这个问题,他们成立了一个叫做“健康代码”团队的专业组织。为什么叫“健康代码”呢?在行业里,有很多类似的称谓,诸如工程效率,最佳实践,编码标准,代码质量等等,这些术语有各自的内涵,并不能完全表达这个组织想要专注的领域。他们关注的是软件工程全过程和实践,包括如何编码以获得更高的可靠性、可维护性、稳定性或者是保持代码的简洁性等各个方面。因此,他们将“健康”作为涵盖所有这些领域的代名词。 

 

 有很多作者、理论学家和咨询师涉足这个领域,但很少有专门的工程组织致力于这方面的工作。相反,在大多数软件公司,这些工作是由一些工程师在额外的工作时间推动或者是由高级技术主管在负责。然而,事实上,每个软件工程师都在以某种形式为代码健康而努力。毕竟,在开发软件产品时,大多数人都很非常关心是否使用了“正确的”方法,所以Google的工程师想,为什么不成立一个团队,专门致力于帮助工程师用“正确的”方法开发软件呢?  

 

What ?  

“健康代码”团队的工作,并不是要提前规定google工程师的工程实践,他们仍然坚持让工程师在项目中做出独立明智的决策。代码健康团队所做的,是帮助工程师在开发过程中,改善他们的生活状态,提高用更短的迭代时间编码的能力,减少开发工作,获得更高的稳定性并提高性能。事实上,每个人都会乐意看到他们的代码变得更加易读,类库更加简洁等,因为这些好的实践,会让开发人员变得更敏捷,创造出更好的产品。 

 

How ?  

Google的“健康代码”团队怎么达到这些目标呢?在Google,从事代码健康方面的工作有多种形式:  

 

他们建立了一个广义的Google“健康代码”组织, 该组织 20%的核心成员致力于为Google提供更好的工程设计。成员负责维护有关最佳实践的内部文档,为想改进领域做法的团队和个人提供咨询服务。有时候,针对紧急关键项目,成员会直接参与代码重构,编写文档,或者是改进提高代码健康程度的工具。例如,核心成员维护Google的代码评审指南,撰写关于最佳实践的内部出版物,组织关于生产效率改进的技术讲座,推广和普及Google优秀的软件工程文化。  

 

代码健康组织里的资深会员,还会就如何改进其领域的工程实践,向工程主管和内部领导小组提供咨询和建议。并不是每个人都清楚如何在一个领域里提高代码健康程度的做法,部份人的经验可能更加丰富,因此,团队会提供理论咨询和实践经验,以帮助工程师开发出更加简洁的代码,培养更加优秀的开发人员。  

 

除了核心成员,在Google的很多产品线和项目团队都有他们自己的代码健康小组。这些小组更倾向于与实际的开发项目相结合,诸如通过重构解决技术债,开发检测和防止不良编码的工具,编写自动化代码框架,或者开发自动删除重复或沉睡代码的系统。通常这些小组与核心成员紧密合做,定期进行会议沟通,以确保工作范围不重复,新的工具和系统可以在Google的其它部门共享使用。  

 

多年来,Google的代码健康团队对公司在快速开发优秀产品方面的能力产生了重大的影响。代码的复杂性不仅仅是Google公司面临的问题,也是所有开发个人和开发团队的共同问题。