CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
代码质量与工程实践/课时/静态分析工具
RawBlame
课时目录12 节

代码质量与工程实践

  1. 01代码质量是什么
  2. 02代码审查
  3. 03重构基础
  4. 04代码坏味道
  5. 05文档生成
  6. 06风格与规范
  7. 07Pull Request 流程
  8. 08质量与测试
  9. 09静态分析工具
  10. 10技术债务
  11. 11团队规范
  12. 12综合练习

静态分析工具

SonarQube、SpotBugs、ESLint 概念。

30 分钟

静态分析工具

测试验证 运行时行为;静态分析 在不执行程序的情况下扫描源码,发现空指针风险、资源泄漏、风格违规、重复块。它是 cq-style 与 cq-smells 的自动化延伸。

学习目标

  • 理解 SonarQube、SpotBugs、ESLint 的定位差异
  • 知道如何在 CI 中接入而不淹没团队
  • 将工具结果纳入 cq-reviews 与 PR 流程

工具地图

工具生态主要能力
SonarQube多语言质量门禁、债务、重复、覆盖率汇总
SpotBugs / PMDJavaBug 模式、复杂度
CheckstyleJava风格
ESLintJS/TS语法、React hooks、import 顺序

platform 已用 ESLint;backend 可逐步引入 SpotBugs 或 Sonar。不要一次开满规则,先 baseline 再收紧。

SonarQube 概念

  • Quality Gate:如新代码覆盖率 ≥80%、无 Blocker
  • Code Smell / Bug / Vulnerability 分级
  • 技术债务 估算(分钟)→ 下一课 cq-debt

Sonar 不能替代 testing-essentials 的断言;也不能理解业务逻辑错误。

落地建议

本地:IDE 插件即时提示
PR:  只报告「新代码」问题(避免 legacy 洪水)
主干:Weekly 趋势,定 1 条债务偿还 OKR

与 git-essentials 保护分支配合:Quality Gate 不绿不 merge。Spring 项目注意 Lombok 与 SpotBugs 的已知误报,需在配置中排除或升级规则集,参考 spring-boot-essentials 构建插件文档。

AI 改大量文件时,静态分析 diff 是 第二道筛,见 ai-coding-essentials。

练习

  • 本地对 backend 跑 mvn compile,看是否已有静态分析插件输出
  • 在 platform 故意写一条 ESLint 可捕获的问题,确认 lint 失败
  • 列出 3 条「值得 CI 阻断」vs「仅 warning」的规则

小结

静态分析补测试盲区,但需渐进接入与人工判断。 下一课技术债务:如何登记、优先级与偿还策略。

加载本节练习…
← 上一课质量与测试下一课 →技术债务