怎样统一团队的代码风格
作者:程序员罗尼 | 发布:2021-07-31 | 原文:https://mp.weixin.qq.com/s/CnXRGBTesRmpGNV7JpeRsA
一、为什么要统一
代码风格不统一会带来三个问题:
1. 代码不整洁。 有人不习惯格式化代码,然后这种半成品代码就被提交到了代码库里,这种代码对于有代码洁癖的人来说是一种折磨(比如我 😂)。
2. Code Review 的时候难以识别修改的地方。 如果一个人改了和自己不同风格的文件,只改了一行,但在提交代码之前进行了格式化,那么在 Code Review 的时候很可能看起来就是整个文件都被修改了,这不必要地加大了 Code Review 的工作量。
3. 容易产生不必要的冲突。 如果两个使用不同代码风格的人改了同一个文件,即使业务上没有冲突,也很可能因为格式化导致修改冲突。(当然,理论上两个不同的需求修改同一个文件很有可能违反了单一职责原则,但这是另一个设计问题,这里不讨论。)
二、怎样统一
这里有两个关键点需要解决:
- 人。 团队内所有人要同意统一风格,达成一致。
- 流程。 怎样保证每次签入的代码都是格式化过的。
提出这两个关键点基于以下两个事实:
- 人们不喜欢被支配,人们更愿意做自己主动同意的事情,所以一定要事先沟通好。
- 习惯很难更改,有人就是不习惯格式化代码。与其靠人的自主性保证每次都能遵守规则,最好有一种自动化的机制,帮助大家保证每次都能在提交之前格式化代码。
人的问题
对于第一点,可以按照下面的步骤来解决:
- 大家开一个会,所有人都要到场,商量一个都能接受的风格。这里肯定有人需要做一些牺牲,放弃自己习惯的风格。至于具体怎么决定使用哪种风格,少数服从多数吧。
- 导出代码风格配置文件。怎样导出可以参考这个文档(以 IDEA 为例):https://www.jetbrains.com/help/idea/configuring-code-style.html
- 每个人将导出的配置文件配置到自己的 IDE 里面。
流程的问题
对于第二点,经过调研发现有一个很好的插件可以使用,叫做 Save Actions,可以帮助我们在提交代码的时候自动格式化。除此之外,还可以做一些其他形式的优化,提高代码质量,具体可以参考插件的文档说明:https://plugins.jetbrains.com/plugin/7642-save-actions/
三、怎样确定事情已经完成
现在人的问题也搞定了,计划也定了,下面就是执行了。这里一定要指定一个负责人,虽然事情很小,但是如果没人盯着,肯定也有人能拖则拖 😅。
项目管理可用的工具很多,不过这种小项目,我们做一个表格就可以了。把相关人员都放到表里面,然后给每个人列出任务中关键的检查点,每个人做完之后更新自己的状态,负责人定期检查各个人的执行状态,了解事情的进展情况。比如下面这种表格:

直到大家都搞定了,这事就算完成了。
(完)