大公司是如何保证代码质量的

  概述:本文主要介绍保证代码质量的手段和流程


  代码质量是公司赖以生存的土壤。产品质量是红线,任何时候都不能逾越。目前代码质量管理的流程中,大部分借助工具实现,可靠性、自动化程度较高。

一、代码质量的四个方面

  1. 意识培养 + 成文的规范保证

  新员工入职,会进行详尽的培训,主要包含以下内容:

    • 代码整洁之道
    • 编程最佳实践
    • 团队自己成文的编码规范(类似开发者手册),涵盖命名、圈复杂度、单元测试和覆盖率等指标性要求

  2. 强大的 CI 守护系统

  CI(Continuous integration,持续集成)在企业级开发中扮演着非常重要的角色。所谓 CI,简单的理解就是:我们每次提交代码时,都会做各种各样的检查和测试以保证质量(CI 防护网),通过之后才有可能将代码集成到代码库的主干上去。由于这个过程很频繁,所以叫做持续集成。现在还发展出了 CD(持续部署)。

  实际工作流程如下:

  1. 自查语法,并在本地执行各种检查。包括但不限于圈复杂度、PCLint、安全分析、单元测试、代码覆盖率等等。
  2. 本地检查通过后,再推代码入库。此时会触发 CI 防护。CI 自动合并代码,将各个库的代码放到同一目录下(或者通过软连接来实现),然后编译。编译之后做静态检查。如果不能通过,则返回至提交者。

  分层多维度CI:每次提交都会进行 CI 防护(Verify CI),每天凌晨执行 Daily CI。Daily CI 比 Verify CI 更加全面,Verify CI 通常是做增量检查,Daily CI 则是全量检查。

  3. 严格的 code review

  接上述流程,如果 CI 检查通过,流程走到代码审查。代码审查通常由 team leader 或骨干成员执行,如通过审查,则提交至主干,如未通过,则返回提交者继续修改。

  4. 强大的度量系统

  每人每月的代码量,譬如增删多少行,净增多少行,都有详细报表。CI 通过率也会有详细统计。

 

二、整体流程图


 

补充资料

1. 圈复杂度和代码质量优化

2. PCLint 入门

3. 代码度量工具——SourceMonitor的学习和使用

 

posted @ 2019-10-17 23:38  Albert-陌尘  阅读(2763)  评论(0编辑  收藏  举报