Q12 · 代码质量
你的项目工程化 Sonar 是如何配置的?
⚡ 速记答案(30 秒)
- 一般采用 SonarQube + Sonar Scanner
- 配置项目 key、语言(JS/TS/Vue)、源码目录、排除目录、测试覆盖率报告路径等
- 在 CI 中增加扫描步骤:构建 → 测试 → 生成覆盖率 → 调用 Sonar Scanner 上报
- 在 SonarQube 中配置质量阈值(bug/安全问题/覆盖率),不达标就阻断合并
📖 详细讲解
SonarQube 配置
sonar-project.properties
sonar.projectKey=my-project
sonar.projectName=My Project
sonar.sources=src
sonar.tests=tests
sonar.exclusions=**/node_modules/**,**/dist/**
sonar.javascript.lcov.reportPaths=coverage/lcov.infoCI 集成流程
steps:
- run: npm install
- run: npm run test -- --coverage
- run: sonar-scanner质量门禁
| 指标 | 阈值 |
|---|---|
| Bugs | 0 |
| 安全漏洞 | 0 |
| 代码覆盖率 | > 80% |
| 代码重复率 | < 3% |
面试技巧:回答工程化问题时,结合你实际项目中的配置和优化经验,更有说服力。