前端质量思考

上周参加了来自百度同行的代码扫描平台的分享.
总结如下:
百度的代码扫描平台主要方式是对源代码的静态扫码, 做的比较突出的是 java 和 C++.
对于我们这种绝大部分技术栈是 php 的现状还不太适用.
通过对分享者的提问,了解到他们对其他语言 php, golang, js,py 等扫码基本上都是对开源或者商业方案的组合. 例如 sonar

本周在社区内碰巧看到几篇代码扫码的文章. 所以促进我思考了下如果咱们想用,能怎么用.
调研结果:

靠近工程的维度:

  • 遵循前端规范模板
  • 提交前需要 lint ( npm run lint)
  • 根据插件统计,降低重复度 (<3%)
  • 圈复杂度 - IDE 插件(codeMetric) - 单个函数需要不能为红色. (复杂度超过 10)
  • 重复率以 IDE 插件(JSCPD)为准, sonar 统计的不是很准
  • Sonar 扫描指标参考
    1. Bug - 需要为 A - must-fix
    2. Vulnerability - 需要为 A must-fix
    3. Code Smells - 可选-酌情清理 might-fix
    4. 可维护性 - A - must-fix
    5. 注释覆盖率(不能作为绝对依据, 命名的好很多时候不需要注释)

靠近业务的维度:

  • 单元测试覆盖率
  • QA 自动化部分

目前只做到 jenkins 里的 freestyle 的任务可以和 sonar 整合, pipeline 类型的还没找到好办法.

相关截图: