集成 Detekt在 build.gradle.kts 中添加:plugins { id("io.gitlab.arturbosch.detekt") version "1.23.0"}detekt { toolVersion = "1.23.0" config = files("config/detekt.yml")}通过 . 超过 20 行代码 ...}Detekt 提示:LongMethod - 函数过长(超过配置阈值)。 // 重复的字符串}Detekt 提示:StringLiteralDuplication - 重复字符串字面量。 建议将 Detekt 集成到 CI/CD 流程中,确保每次提交均通过检查。
' detekt { // Version of Detekt that will be used. detekt configuration. detekt's default config file. tasks.findByName(\"detekt\")") } } 运行prebuild,检测结果在build/reports/detekt/detekt.html可查看详情。 detekt-result-preview.png 总结 GitHub Demo CheckStyle不支持kotlin,Ktlin和Detekt两者对比Ktlint它的规则不可定制,Detekt 工作得很好并且可以定制
鉴于 detekt 涵盖了 Ktlint 的功能,因此直接选用 detekt 来作为代码扫描工具。 借助 detekt 治理 Kotlin 代码 配置 detekt 使用 detekt 的第一步是在 Gradle 工程中引入 detekt 插件。 ://detekt.github.io/detekt/index.html [4] Options for detekt configuration closure: https://detekt.github.io /detekt/gradle.html#options-for-detekt-configuration-closure [5] issue: https://github.com/detekt/detekt /detekt/comments.html [8] IndexOutOfBoundsException: https://github.com/detekt/detekt/pull/3317 [9] detekt-cli
sonar.androidLint.reportPaths", "${project.buildDir}/reports/lint-results-debug.xml" // detekt.reportPaths // property "sonar.kotlin.detekt.reportPaths", "build/reports/detekt.xml" sonar.androidLint.reportPaths", "${project.buildDir}/reports/lint-results-debug.xml" // detekt.reportPaths // property "sonar.kotlin.detekt.reportPaths", "build/reports/detekt.xml"
此外,我们的项目团队也在采用该语言(Ktor、MockK、Detekt、HTTP4K)。 Detekt ? Detekt是一个适用于Kotlin的静态代码分析工具。它能够发现代码中的坏味道和复杂性。 Detekt能够给Kotlin应用的构建流水线锦上添花。 Humio ? 在日志管理领域,Humio是一款相对较新的工具。
其他: python https://github.com/PyCQA/pylint kotlin https://github.com/arturbosch/detekt JS/TS https://
Detekt:支持代码风格检查和代码性能检查,代码风格检查完全复用Ktlint,代码性能检查规则集也比较完善,且支持规则集扩展。 Lint:这个是Google官方提供的静态代码扫描工具。
插件可让您快速找到每个 API 类或方法的最佳代码示例 Dagger IntelliJ Plugin - 用于 Dagger 的 IntelliJ IDEA 插件,可深入了解如何使用注入和提供程序 Detekt
编码规范:Kotlin 风格指南、命名统一 静态检查:Lint、Detekt、ktlint 单元测试 & UI 测试:JUnit、MockK、Espresso CI/CD:GitLab CI 自动打包、