随着AI的到来,AI生成代码,AI端到端开发等,帮我们工作效率提升很大,很多公司对研发效能提升越来越重视,下面我分享一下高效CodeReview的一些实战。
CodeReview是什么
代码审查(CodeReview)是一种软件开发过程中的质量控制实践,它涉及开发团队中的成员对彼此的代码进行仔细检查和评估。代码审查的目的是发现和纠正潜在的问题,提高代码质量,促进知识共享和团队协作。
CodeReview目标
- 知识传播与学习,帮助初级开发人员提升,达到知识共享
- 促进团队成员互助,互学习对方的代码和设计思路,了解彼此项目,内部开发backup
- 提升代码代码(可读性,可维护性)
- 发现代码中的Bug,提升系统稳定性
代码变坏的原因
破城中贼易,破心中贼难。解决外在的技术问题相对容易,克服内在的心理障碍和认知偏差却更为困难。
- 城中贼:代表代码中的具体技术问题,如语法错误、逻辑缺陷、安全漏洞等
- 心中贼:指审查过程中的心理障碍,包括确认偏误、过度自信、情绪抵触等认知偏差
先破心中贼
建立内部沟通准则,通过绩效引导,构建内部共识。
- 建立信任和尊重:保持平等、避免居高临下和批斗
- 提供建设性反馈:不是简单的否定,帮助同事成长
- 处理好冲突与分歧:避免情绪化反应,寻找共识
再破城中贼
心理障碍(心中贼)解决后,需进一步聚焦技术问题和原因(城中贼)。
好代码的标准:
- 可维护性:可读性好、可扩展性好、修改bug、添加代码花费时间较少
- 可读性好:代码是给人读的、最好的代码就是自注释、易读、易理解、有美感
- 可扩展性好:对修改封装,对扩展开放、不修改或者少量修改代码可以添加新功能
- 简洁性:KISS,代码简单、逻辑清晰
- 可复用性:复用已有的代码,尽量减少重复代码的编写,不要重复造轮子
- 可测试性:代码可测试性差,单元测试不好写,说明代码设计有问题
影响代码质量原因
| |
|---|
不合适的解决方案,没有提前设计。项目时间紧,没有时间思考 | 时间紧,任务重。还是要设计的,好的设计事半功倍,尽量一次性把事情做对。 |
| |
| 多看,多思考,多总结,多实践编程范式,可以快速提升代码规范基础 |
| 本来就这么烂,我也只能往上堆垃圾?建立代码质量基线,强制要求每次提交必须修复旧代码中的低质量代码。 |
| |
AI CodeReview
AI CR帮我们解决很多的Review问题,用好提示词,写好提示词,针对不同的技术栈写不同的提示词,基本的规范等我们都可以交给AI,我们只用关注业务方面的合理性。插件很多,CR提示词也很多,感兴趣私聊。从实践来看可以产出值得采纳的建议。
先破心中贼,再破城中贼,然后去拥抱AI,这样你就会高效。