协作与代码审查
复习
- 版本控制:保存变更、支持多人并行
- 分解、模块与接口:模块化分工
- 契约、错误与异常:明确责任
TL;DR
- 多人协作需要规则:谁改了什么、如何合入
- 代码审查让代码在被合并前被别人看过
- 审查能发现错误、传播知识、统一风格
- 它是质量与团队成长的共同手段
正文
版本控制让多人可以并行工作。可代码终究是人写的、给人看的——一群人如何高效、可靠地合作,还有不少讲究。
协作的挑战
多人一起写代码,会遇到一些天然的问题:
- 理解:别人写的代码,你看得懂吗?
- 风格:每个人习惯不同,代码会不会乱成一团?
- 冲突:两人改了同一处,怎么处理?
- 质量:谁能保证每一份改动都是靠谱的?
版本控制解决了“合并”层面的问题,但“质量”和“理解”,还需要另一项实践——代码审查(code review)。
代码审查:让代码被看见
代码审查的做法是:一份改动在正式合入之前,先由其他人看过、提出意见。
它带来的好处,往往超出“找 bug”本身:
- 发现错误:多一双眼睛,就多一层把关
- 传播知识:作者讲清思路,审阅者学到新东西,团队的知识不再只在一个人脑子里
- 统一风格:大家逐渐形成一致的写法,代码更整齐
- 集体负责:审查过的代码,是团队共同认可的,而不是某个人的“私产”
可以说,代码审查既提升了代码质量,也提升了团队本身。
有些约定是必要的
多人协作,离不开一些共同的约定:代码风格、提交规范、审查流程、分支策略……这些约定可能显得琐碎,却能让协作顺畅很多。
这又回到了我们熟悉的主线:接口与约定,让独立的个体能够高效地拼接在一起。 只不过这次,被“约定”连接起来的,是人。
思考题 1
代码审查有哪些好处?
思考题 2
多人协作时,为什么需要一些共同约定?
小结
知识点
- 多人协作面临理解、风格、冲突与质量挑战
- 代码审查在合入前由他人检查改动
- 审查能找错、传知识、统一风格、促进集体负责
- 共同约定让协作更顺畅
参考资料
- Wikipedia(zh):代码审查:合并前由他人检查代码改动
- Wikipedia(zh):版本控制:支持多人协作的基础工具
思考题答案(仅供参考)
思考题 1
它能发现错误(多一层把关)、传播知识(作者与审阅者互相学习)、统一风格(形成一致的写法),并让代码成为团队共同认可的成果。既提升了代码质量,也促进了团队成长。
思考题 2
因为一群人的习惯和思路各不相同。约定代码风格、提交流程、审查与分支规则等,能减少误解与冲突,让各自独立的改动顺利拼接、协同推进,正如接口让模块能协作一样。
协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
封面图
设计师 | 南国微雪