宇是我 的博客地址:
http://www.jianshu.com/u/04d328e48fb5
提高代码质量一直是一个值得关注的技术,作者介绍了其项目中使用的几种插件,希望可以在一定程度上帮助大家更好的把握产品的质量。同时,如果你有性能优化相关的文章,欢迎投稿。
1
在团队 Android 项目开发过程中,难免会出现一些比较不容易发现,但是又比较低级的 bug。而且因为每个开发人员的编码习惯不同,写出的代码也会有差异。
下面将介绍在项目中用到的四种插件 lint、findBugs、PMD、 CheckStyles 的功能和使用方式,以及如何将多个插件整合在一起,在方便使用的同时尽量做到与项目工程解耦。
2
Lint 是 Android Studio 提供的一个代码检测工具,通过它开发者不用运行或者写测试代码,就可以发现和纠正问题,优化代码结构。
每个被检测到的问题,都会生成一条描述信息并指明相应的严重性级别,当然这个严重性级别我们也可以自己设置的。
Android Studio 自带,无需安装。
在工程的根目录下运行相应的 gradle task。
- gradle lint
- ./gradlew lint
当运行上面的命令执行完后,就会在项目目录 / app/build/outputs/lint-results-debug.html 生成相应的文件,可用浏览器打开查看。
(3)手动运行 lint
有时我们可能只针对某个文件或者某个目录进行检测,这时使用 gradle 的方式就比较麻烦了,所以 Android Studio 提供给我们手动运行 lint 的方式。
配置完成后,点击 OK 按钮,进行检测。检测结果如下图所示,左边是检测类型的树形结构,右边则展示详细的信息。
注:详细的使用,请看官网文档 Improve Your Code with Lint
( https://developer.android.com/studio/write/lint.html#manuallyRunInspections )
2
FindBugs 是一个 Java 静态分析工具,用来检查类或者 jar 文件,用来发现可能的问题。检测完成之后会生成一份详细的报告,借助这份报告可以找到潜在的 bug,比如 NullPointException,特定的资源没有关闭,查询数据库没有调用 Cursor.close() 等
在 Android Studio 中选择 Preferences -> Plugins,输入查找 findBugs 进行插件安装。
在 build.gradle 文件中,按照下面步骤进行设置:
这里要注意因为 findBugs 是检查 class 文件,所以在定义 task 的时候,我们是 dependsOn: "assembleDebug",确保运行 findbugs 的 task 能够成功检测。
通过 gradle findbugs 方式,在工程目录下运行命令,检测完成后,会在制定的目录下生成报告文档。文档支持 xml 和 html 两种格式,本文设置的是 html 格式,可以直接用浏览器打开。
当然,和 lint 一样,findBugs 也支持手动检测的方式。
在工程里,右键 FindBugs -> (选择检测的范围)。检测完之后,底部工具栏会跳到 FindBugs-IEDA 下,如图所示。
3
PMD 是一个很有用的工具,它跟 Findbugs 类似,但是它不是检测字节码,它是直接检测源代码。它使用静态分析来发现错误。
为什么要将它们同时使用呢?因为它们的检测方法不同,可以取到互补的作用。
同样可以通过 AS 的 plugin 进行安装,推荐安装 QAPlug-PMD。
在 build.gradle 文件中进行如下配置
4
这个工具用来自动检测 java 源码。启动之后,可以按照制定的规则对 java 源码进行检查,被将所有的不符合规范的地方生成报告通知给你。
总而言之,是一些代码规范问题!!
通过 AS 的 Plugin 进行安装
- apply plugin: 'checkstyle'
- checkstyle {
- toolVersion '6.1.1'
- showViolations true
- }
5
lint、PMD、findBugs 和 CheckStyle 检测范围之和。
- apply from: '../config/quality.gradle'
- // 应用目录名称def appDir = "app-k12"
6
总结
最后,随文附上插件的 git 地址,欢迎 fork 和 star。
优秀人才不缺工作机会 , 只缺适合自己的好机会。但是他们往往没有精力从海量机会中找到最适合的那个。
100offer 会对平台上的人才和企业进行严格筛选,让「最好的人才」和「最好的公司」相遇。
扫描下方二维码,注册 100offer,谈谈你对下一份工作的期待。一周内,收到 5-10 个满足你要求的好机会!
如果你有 想学习的文章 直接留言,我会整理征稿。如果你有好的文章想和大家分享欢迎投稿,直接向我投递 文章链接 即可。
欢迎 长按下图 -> 识别图中二维码 或者 扫一扫 关注我的公众号:
来源: