文章

静态代码扫描工具

静态代码扫描工具

代码规范

ktlint

https://github.com/pinterest/ktlint

什么是 ktlint?

ktlint 是一个自带格式化的静态代码分析工具,可用于规范化 kotlin 代码风格,还可以自动格式化代码,大大节省手动格式化的时间。简单来说,ktlint 是一个包含了 linter 和 formatter 的静态代码分析工具。

安装

ktlint

AS 插件

ktlint
安装后 Tools→ktlint

规则

https://github.com/pinterest/ktlint#standard-rules

禁用规则

没有 * 的导包

Tools→ktlint→Disabled rules 填入:

1
no-wildcard-imports

Datekt

https://github.com/detekt/detekt

Datekt 和 ktlint 区别

ktlint 只能做一些格式上的检查吧,不能获取语义,Detekt 里面包装了一下 ktlint 的规则,是 ktlint 的超集

Ref

FindBugs

下载:
http://findbugs.sourceforge.net/
manual:
http://findbugs.sourceforge.net/manual/
gradle findbugs 插件
https://docs.gradle.org/3.4.1/dsl/org.gradle.api.plugins.quality.FindBugs.html
FindBugs Bug Descriptions
http://findbugs.sourceforge.net/bugDescriptions.html

FindBugs Category

  • Bad practice 坏的实践
  • Correctness 一般正确性问题
  • Experimental 试验性
  • Internationalization 国际化
  • Malicious code vulnerability 恶意代码
  • Multithreaded correctness 多线程正确性
  • Performance 性能问题
  • Security 安全性
  • Dodgy code

Android Studio 中使用

本文由作者按照 CC BY 4.0 进行授权