Code Review(CR)

本文探讨了CodeReview的重要性和步骤,包括满足功能和非功能需求、代码质量检查、审查原则如逻辑可读性、良好代码标准,以及注意事项如面对面沟通、Owner制度和问题追踪。强调了小步快跑和合理安排时间的重要性。
部署运行你感兴趣的模型镜像

Code Review(CR)

Code Review CheckList

检查项检查点
满足功能需求满足业务需求、无遗漏
对现有代码的副作用是否影响上、下游
并发线程安全、同步、死锁、活锁
可读性和可维护性易理解、可配置、无硬编码
一致性编码风格、编码规范
性能关注启动时、循环、频繁执行的情况
错误和异常处理预定义、标准
简单性简单优雅
可重用性组件、代码是否可重用
安全性身份验证,授权,输入数据验证、加密敏感数据等
单元测试覆盖率

Code Review 环节

过程
: 作者大致讲解需求和整体设计,然后是核心代码
: Reviewer提出问题,作者确认是否是问题
: 对发现的问题进行记录,分类处理

内容
:  是否满足功能需求,有没有多做,有没有少做,有没有潜在的Bug
:  是否满足非功能需求。性能(高频调用的函数、核心算法)?可用性(异常处理是否完善)?可读性?
:  代码质量、规范

结束
:  Review一轮并不意味这个Review活动结束,因为还有待解决的问题,因此应该借助工具跟踪Review发现问题,指明问题的修复者、问题的验收人、问题的验收时间。当一次Review所关联的所有问题都得到修复之后,Review活动才算结束。

Code Review 原则

对所Review的代码逻辑应可以“完全看懂”
:  Good Case:对所Review的代码,掌握情况就像自己写的一样
:  Bad Case:在Review代码后,对代码的逻辑和背后的原因依然很模糊

好代码的标准,不仅仅是“可以运行通过”
:  正确性,可读性,可重用性,可运维性
:  Google:差一个空格也不行

Code Review和写代码一样重要
:  Code Review和写代码一样,也有产出:更高质量的代码
:  Review代码有时比写代码还辛苦:理解&找出问题

以提升代码质量为最终目标
:  Review双方共同努力的目标

**关于Bad Code的简单判断 **

【5分钟内不能看懂的代码】---------5分钟内无法让我看懂(认真前提下),这个代码一定写的有问题
【需要思考才能看懂的代码】--------好的代码:Don’t make me think!
【需要来回翻屏才能看懂的代码】–好的代码,经常在一屏内就是一个完整的逻辑
【没有空行/注释的代码】-------------不会用段落,不会写注释,肯定不是好的程序员写的代码

Code Review的注意事项

在必要时,Review的双方做面对面的沟通
:  背景、关键点的说明,便于Review理解
:  在必要时,应提供设计文档

对关键模块,应建立Owner制度
:  所有提交代码,必须由Owner做最终确认
:  便于由Owner掌握全局,并建立明确的责任关系

对Review中发现的问题,一追到底
:  在问题没有完全改正前,不能通过!

一行代码都不放过
:  对每一行提交的代码,都要Review

小步快跑
:  每次提交Review的代码量不要太多(减低复杂度)
:  几百行已经是很多了
:  特殊情况:一个新模块的构建,最好逐步完成(通过多次提交)

为Code Review预留出足够的时间
:  常见问题:只预留了写代码的时间
:  Code Review VS Coding,有时可能达到11(考虑到有时大的修改)
:  关键是要改变“CodeReview 不重要”的错误认识

每天Review代码的数量不宜过多
:  每次最多1-1.5小时
:  要放在自己精力比较好的时间段

您可能感兴趣的与本文相关的镜像

Seed-Coder-8B-Base

Seed-Coder-8B-Base

文本生成
Seed-Coder

Seed-Coder是一个功能强大、透明、参数高效的 8B 级开源代码模型系列,包括基础变体、指导变体和推理变体,由字节团队开源

### 关于CodeGeeX代码审查的信息 #### CodeGeeX概述 CodeGeeX是一个开源的大规模多语言代码预训练模型,旨在帮助开发者提高编程效率并改善代码质量。该工具不仅能够理解多种编程语言中的语义结构,还支持自动完成代码片段、预测可能的错误位置等功能。 #### Code Review的重要性 在软件开发生命周期中,代码审查扮演着至关重要的角色。它有助于确保团队成员之间的沟通顺畅,促进最佳实践的应用,并最终提升产品的整体品质[^1]。对于采用像CodeGeeX这样的先进AI辅助工具来说,实施有效的代码审查流程同样重要。 #### 使用CodeGeeX进行代码审查的优势 利用CodeGeeX执行代码审查可以带来诸多好处: - **自动化检测潜在问题**:借助其强大的自然语言处理能力,快速识别出不符合标准或存在风险的代码段。 - **增强协作与学习机会**:当与其他开发人员共享由CodeGeeX生成的意见时,这促进了知识传递和技术交流。 - **加速反馈循环**:即时获得有关提交更改的具体建议,使得修复缺陷变得更加高效及时。 ```python # 示例:使用CodeGeeX插件来分析Python文件 import codegeex_reviewer as cr def analyze_code(file_path): reviewer = cr.Reviewer() issues = reviewer.check_file(file_path) for issue in issues: print(f"Issue found at line {issue.line}: {issue.message}") ``` 上述脚本展示了如何集成CodeGeeX库来进行基本的静态代码分析。实际应用中可以根据需求调整配置参数以适应特定项目的要求。 #### 实施基于CodeGeeX的有效代码审查策略 为了最大化发挥CodeGeeX的价值,在制定内部审核指南时应考虑以下几个方面: - 定期安排专门的时间用于集中讨论和评估新加入的功能模块; - 鼓励参与者积极表达不同观点,共同探讨最优解决方案; - 对所有提出的改进建议保持开放态度,即使它们来自初级工程师或是外部贡献者; 通过这种方式不仅可以充分利用CodeGeeX所提供的智能化特性,同时也营造了一个更加包容和支持性的研发环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值