代码健康:谷歌的代码健康团队(Code Health Group)是如何运作的?
关注我,每天收获一个新技能!
1
在很多时候,良好的编码实践可能都不是软件企业内部工程生产力小组所关注的领域,这些内部工程生产力小组更多地会关注常规的测试及其相关工具领域。
然而,拥有可读且可维护的代码不仅仅是编写良好的测试,或拥有合适的工具,它还意味着首先拥有易于理解和修改的代码。
但是,如何确保一切工程师遵循这些实践,同时仍允许他们独立做出合理的工程决策呢?
许多年前,一群 Google 员工聚在一起解决这个问题,他们称自己为“代码健康”小组。
2
因为行业中用于此的许多其他术语(工程生产力、最佳实践、编码标准、代码质量)都有内涵,可能会让人认为我们正在做我们不想关注的事情。
Code Health Group 关心的是软件工程的整个过程和实践——软件编写过程中可能影响代码可读性、可维护性、稳定性或简单性的任何方面。我们喜欢将“健康”代码比喻为涵盖所有这些领域。
3
主要职责是什么?
在谷歌,代码健康是一个得到公司认可的官方团体。
从事这项工作的人可以因其贡献而得到认可和奖励。当我们想使用它时,我们有很大的影响。也有人全职从事代码健康工作。
谷歌的代码健康小组,由致力于让 Google 的工程服务更优质的工程师组成。该小组的成员:
(1)维护有关最佳实践的内部文档,
(2)充当团队和个人的咨询平台,帮助他们了解如何最好地改进其领域的实践。
(3)偶尔,对于关键项目,小组成员会直接参与重构代码、改进库或更改促进代码健康的工具。
例如,这个核心小组维护 Google 的代码审查指南,撰写有关最佳实践的内部出版物,组织有关提高生产力的技术讲座,并在 Google 培养一种优秀的软件工程文化。
(4)代码健康小组的一些高级成员还为工程主管和内部领导小组提供建议,帮助他们改进其领域的工程实践。如何在某个领域实施有效的代码健康实践并不总是很清楚——有些人比其他人更有经验在团队中广泛实施这一点,因此我们提供咨询和经验,帮助实现简单的代码和出色的开发人员体验。除了核心小组之外,Google 的许多产品和团队都有自己的代码健康小组。这些小组倾向于在实际编码项目上更紧密地合作,例如通过重构解决技术债务、制作检测和防止不良编码实践的工具、创建自动代码格式化程序或制作自动删除未使用代码的系统。通常,这些小组会与中央代码健康小组协调并会面,以确保我们不会在整个公司内重复工作,以便与 Google 的其他部门共享出色的新工具和系统。
3
根据我的经验,在大多数公司,都是一些随机的好公民推动这种事情,而不是作为他们工作的正式部分,有时甚至不是高级工程师。
有时他们会得到一小撮工程师的支持。但它几乎从来都不是受公司官方支持的一种组织机制。有时核心人员甚至会离开或太忙,然后整个事情就被放弃了。
即使它是一个受到官方支持的组织时,重点也往往最终放在测试和工具上,而不是谷歌所主要关注的代码健康重构、简单性、实践等方面。
当然,上面的说法并不是对任何一个公司都是正确的,但这是我在许多组织中的经验。
原文发表于:2017 年 4 月 3 日
原文链接:https://testing.googleblog.com/2017/04/code-health-googles-internal-code.html