介绍

没有规矩不成方圆,所以我们写代码也要有”规矩”,但是我们通常记不住所有的”规矩”,因为人嘛,不可能不犯错。但是,这难不到我们程序员,我们让机器、代码、程序帮我们搞定,让它们来帮我们进行代码质量检查,以便提高的程序的健壮性。

通常来说,项目的质量决定了:

  • 软件项目的命运
  • 软件项目的可维护性
  • 软件项目的运维成本
  • 软件项目的扩展性

为什么要进行代码质量检查?

代码检查很重要,原因有三:

  1. 避免低级bug:一些常见代码问题,如果在编译或运行前不能及时发现,代码中的语法问题会直接导致编译或运行时错误,影响开发效率和代码质量;
  2. 统一代码习惯:每一个团队或个人都会有一些代码规范或者代码习惯,为了便于后期维护和阅读,我们编写的代码也需要符合一定的格式规范;
    • 空格
    • 统一缩进
    • 命名规范
  3. 保证线上代码质量:在版本管理中,我们需要在提交或发布之前自动执行一些代码检查工作,确保我们的代码符合最终版本要求。

如何让一个团队的人产出的代码都在一个基本水平底线之上呢?最初是靠制订规范。要确保规范得以执行只能靠人,所以文字规范成了code review的公共参照标准。单纯靠人的事最终都容易流于形式,所以需要工具加以保证。虽说工具并不能完全实现规范中的规则,但至少能够在一定程度上缓解代码不统一的局面。

了解路径:

  • Why
  • What
  • How

主要内容:

代码质量监测包括:代码规范(代码编写层面)、功能实现(测试层面)、Code Review(团队协作层面)。

代码规范作为展开,以eslint为例子;代码质量中的功能实现,以e2e test为例子。

关于,功能实现中的单元测试,5-3中有具体的框架使用及介绍。

  • 代码Lint——告别低级代码错误,简单的配置让程序来自动检查
  • e2e test——了解什么是黑盒测试,如何进行e2e test,即End to End Test,端到端的测试。
  • 开源测试平台:Codecov介绍——配合Ci工具,让测试过程自动化,大大提升效率

MacHi-2017-10-15-21-45-04.png
这是一张vue官方的github的图片。

这些徽章都是可以点击的,第一个点进去是 https://circleci.com/vcs-authorize/circleci 是一个 CI(Continuous integration,持续集成) 平台,主要提供集群编译、单测、集成测试的环境。具体咋用见5.4。

第二个徽章是 codecov.io(单测覆盖率统计平台)(是 code-coverage 的意思),接入过程也很简单,也是不同语言选择不同的配置文件,codecov 可以无缝衔接 travis-ci,只需要在原来的配置文件上稍作修改即可,核心就是生成单测的结果文件。

学习准备:

  • IDE vscode,node > 10.15
  • 包管理工具:yarn, cnpm
  • Github账号