如何做好代码评审

139 阅读4分钟

what:背景是什么?

Q:代码评审的意义和价值?

A:延缓代码的腐化

image.png

why: 为什么没有达到预期目标?

Q:评审时偏重架构设计还是代码逻辑还是语法?

A:代码评审通常应该涵盖多个方面,包括架构设计、代码逻辑和语法。每个方面都有其重要性,取决于项目和团队的需求。以下是关于这三个方面的一些考虑:

  1. 架构设计

    • 架构设计涉及代码的整体结构、模块划分、组件关系和数据流。它直接影响项目的可扩展性、可维护性和可测试性。
    • 在评审过程中,关注模块的职责是否清晰、依赖关系是否合理、是否符合设计原则(如单一职责原则、开闭原则等)。
  2. 代码逻辑

    • 代码逻辑是指代码的实现,包括算法、逻辑流程、条件判断和数据处理等。代码逻辑需要确保功能正确、没有潜在的逻辑错误,并且易于理解。
    • 在评审中,检查是否有逻辑错误、边界情况是否被正确处理、代码是否符合预期的行为。
  3. 语法和风格

    • 语法和风格是代码的外部表现,包括缩进、命名规范、注释、代码格式等。保持一致的代码风格有助于团队协作和代码可读性。
    • 评审时,检查是否符合编码规范、变量和函数命名是否清晰、是否有足够的注释来解释复杂的逻辑。

综上所述,代码评审应该全面覆盖架构、逻辑和语法,以确保代码的质量和可维护性。不同的项目和团队可能会有不同的重视点,因此在开始评审之前,最好明确团队的评审标准和优先级。同时,一个好的评审过程还应该关注代码的性能、安全性和测试覆盖等方面,以确保项目的成功交付。

Q:修改故障的时,代码可能只修改了一小段,这时审查的重点是什么?

A:当您在代码评审中遇到只修改了一小段代码的情况时,评审的重点应该放在以下几个方面:

  1. 修复是否正确

    • 首先,确保修复解决了实际的问题。检查问题的描述、报告和修复之间的关系,确保修复的目标是解决问题而不是遗留的副作用。
  2. 边界情况

    • 检查修改的代码是否考虑了边界情况。虽然只是小段代码的改动,但在边界条件下仍可能引发问题。确保代码在各种输入和场景下都能正确工作。
  3. 错误引入

    • 即使只修改了少量代码,也有可能因为修改引入了新的错误。审查时需要检查修复是否引入了其他问题,尤其是在相邻的代码区域。
  4. 代码风格和命名

    • 虽然只是少量修改,但仍要保持一致的代码风格和命名规范。确保修改后的代码与周围的代码风格保持一致,这有助于维护整体代码的可读性。
  5. 单元测试

    • 如果项目中有相关的单元测试,检查修改是否需要更新相应的测试用例。确保修复已经被充分测试,以避免未来的回归。
  6. 影响范围

    • 尽管只修改了少量代码,但仍然需要考虑修改的影响范围。检查修改是否可能影响其他模块或功能,并确保没有不良的连锁反应。
  7. 注释和文档

    • 如果修改引入了新的概念、算法或思路,确保代码中有适当的注释和文档,使其他开发人员能够理解这些更改。
  8. 版本控制和提交信息

    • 检查版本控制提交中的注释,确保提交信息清楚地描述了修改的目的和内容。这有助于以后回顾和跟踪修改历史。

虽然修改的代码量可能很小,但仍然需要认真对待,确保修复不会引入新的问题并保持代码的质量和可维护性。评审者应该在这些方面进行审查,以确保修改的代码是稳健和可靠的。

Q:团队做代码评审时,有哪些困难和疑惑?

A:代码评审可能比较费时,需要将这一过程纳入到工时管理中。 评审时需要找对正确的评审人,一般找TL来帮助守护代码的架构设计;

how:可采取的措施

Q:代码评审做的好不好如何衡量和评价

最佳实践