文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

提高Android代码质量的4个工具

2022-06-06 12:56

关注

  在这篇文章中,我将通过不同的自动化工具如CheckStyle,FindBugs,PMD以及Android Lint来介绍(如何)提高你的安卓代码质量。通过自动化的方式检查你的代码非常有用,尤其当你在一个团队中工作,为了在你的代码中保持严格的语法格式以及避免很多坏习惯和错误。我将仔细地介绍如何在你空闲的时候直接运用这些工具通过Gradle构建脚本以及如何配置它们。   Fork该示例   我强烈建议你拷贝下这个项目工程,尽管我将介绍的案例都是来自它。与此同时,你将能够测试下自己对这些工具的了解情况。   关于Gradle任务   Gradle任务的概念(在Gradle中的含义)是理解该篇文章(以及如何以一种通用的方式写Gradle脚本)的基础。我强烈建议你去看下这两篇关于Gradle任务的文档(这篇和这篇)。这个文档包含了大量的例子,因此它非常容易开始学习。现在,我假定你拷贝了我的Repo,你导入这个工程到你的Android Studio,并且你熟悉Gradle任务。如果不是,别担心,我将尽我大的努力让我的讲解更有意义。   关于示例项目的层次结构   你可以将gradle脚本文件分割成很多文件,我现在已经有3个gradle文件:   根文件夹中的文件,这些文件或多或少都是关于这个项目的配置的(用的哪个Maven Repos,用的哪个版本的Gradle)。   App子文件夹中的文件,这些文件是典型的用于创建安卓应用的gradle文件。   config子文件夹中的文件,这里的文件才是我们关系的重点,因为我用这里的文件保存和配置项目中的所有工具。   Checkstyle   简介   “Checkstyle是一个开发工具用来帮助程序员编写符合代码规范的Java代码。它能自动检查Java代码为空闲的人进行这项无聊(但重要)的任务。”   正如Checkstyle的开发者所言,这个工具能够帮助你在项目中定义和维持一个非常精确和灵活的代码规范形式。当你启动CheckStyle,它会根据所提供的配置文件分析你的Java代码并告诉你发现的所有错误。   Gradle的形式   下面的代码向你展示了在你的项目中使用Checkstyle的基本的配置(如Gradle任务):   task checkstyle(type: Checkstyle) {   configFile file("${project.rootDir}/config/quality/checkstyle/checkstyle.xml") // Where my checkstyle config is...   configProperties.checkstyleSuppressionsPath = file("${project.rootDir}/config/quality/checkstyle/suppressions.xml").absolutePath // Where is my suppressions file for checkstyle is...   source 'src'   include '**gen/**'   classpath = files()   }   所以,基本上这个任务会根据checkstyle.xml和suppressions.xml分析你的代码。通过Android Studio执行它仅仅需要从工具面的CheckStyle来启动它。   启动CheckStyle之后,你讲收到一个报告用于展示在你项目中发现的每个错误。这是非常直接的方式。   如果你想在checkstyle上做更多的配置,可以参考这篇文档。   Checkstyle的使用技巧   Checkstyle会发现大量的问题,特别是在你运用了大量的规则配置,如同你设置了一个非常精确的语法。尽管我通过Gradle使用 checkstyle,例如在我进行推送之前,我仍然推荐你为IntellJ/Android Studio使用checkstyle插件(你可以通过Android Studio的工作面板文件/设置/插件直接安装插件)。这种方式下,你可以根据那些为Gradle配置的相同文件在你的工程中使用 checkstyle,但是远不止这些,你可以直接在Android Studio中获取带有超链接结果,这些结果通过超链接在你的代码中对应,这是非常有用的(Gradle的这种方式仍然很重要的,因为你可以使用它自动构建系统,如Jenkins)。   Findbugs   简介   Findbugs是否需要一个简介呢?我想它的名称已经让人顾名思义了。“FindBugs使用静态分析方法为出现bug模式检查Java字节码”。FindBugs基本上只需要一个程序来做分析的字节码,所以这是非常容易使用。它能检测到常见的错误,如错误的布尔运算符。FindBugs也能够检测到由于误解语言特点的错误,如Java参数调整(这不是真的有可能因为它的参数是传值)。


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯