烂代码
人的视角
- 维护者脏话的频率高
- 维护者脏话的类型丰富
- 存在打架斗殴的可能性
- 面向离职编程
代码视角
- 不遵守代码规约
- 代码像迷宫
- 代码流程脚踩西瓜皮
- 代码执行效率低
- 10行代码15个bug
程序员要写出
- 写出计算机可以理解的代码
- 写出自己未来可以理解的代码
- 写出别人可以理解的代码
代码评审
熵减的过程 减少系统混乱 提高代码质量
提升代码的质量 工程师互相review,扫除知 识盲区,
团队成长 养成团队成员间的交流文化, 有利于团队的知识共享
提升代码规范度 通过代码审查,发现纠正不规范 情况,慢慢形成良好开发规范
对个人的来说:
- 提高自身的抗打击能力
- 对于自己错误的深刻理解
- 交流中碰撞出新的思维
- 锻炼肺活量
如何做CR
- 统一的编码与设计规范;
- 完整的技术架构说明与事例;
- 不定期的review会议;
小项目(3个月内)可10天/次,大项目(6个月以上)可15天/次,前期可以密集安排,后期可调整时间间隔1~3月/次。
推荐工具
- Phabricator: Facebook开源的代码审查工具
- Gerrit: 非常强的CodeReview+代码托管工具
- CheckStyle:代码规范检查工具
CR建议
- 对事不对人;
- 至少一条正面评价;
- PR内容一定要少;
- 不要在review中讨论需求;
- 明确各模块负责人。