Kotlin 静态分析
Kotlin 栈由 detekt 单一 skill 覆盖,功能已经足够完整。
detekt
用途:Kotlin 静态分析 — 代码异味 + 复杂度 + 规范检查,内含 ktlint 规则集(无需额外安装 ktlint)。
| 规则分组 | 示例 |
|---|---|
complexity | 圈复杂度、方法长度、类复杂度 |
code-smell | 冗余、魔法数字、重复代码 |
style(ktlint) | 命名、缩进、import 顺序 |
performance | 不必要的对象创建 |
potential-bugs | 可能的空指针、类型转换错误 |
coroutines | 协程误用检测 |
naming | 类/函数/变量命名规范 |
特点:
- Kotlin 原生支持,理解 Kotlin 特有构造(扩展函数、数据类、协程)
- 可通过
detekt.yml深度定制 - 支持自定义规则(实现
Rule接口) - Gradle / Maven / CLI 多种集成方式
触发:"Kotlin 代码检查"、"detekt 扫描"、"Kotlin 代码异味"、"ktlint"
组合使用建议
Kotlin 项目:
单独一个 skill 就够。输出 CodeEvidence → 交给 code-review 做 L2 语义评审。
Android 特别提示
对 Android 项目,detekt 与 Android Lint 各司其职:
| 工具 | 覆盖 |
|---|---|
| detekt | Kotlin 语言层(代码异味、复杂度、Kotlin 特性) |
| Android Lint | Android 框架层(资源、权限、API level、可访问性) |
建议同时启用。Android Lint 如果需要接入 combo agent 审核流,可通过 skill-architect 按 L1 模式封装为新 skill。