您现在的位置是:主页 > Web前端技术 > Web前端技术

提高Android代码质量的工具有什么移动开发

IDCBT2022-01-12服务器技术人已围观

简介这篇文章主要为大家分析了提高Android代码质量的工具有什么的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟

这篇文章主要为大家分析了提高Android代码质量的工具有什么的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“提高Android代码质量的工具有什么”的知识吧。

在这篇文章中,我将通过不同的自动化工具如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 '<span id="24_nwp"><a id="24_nwl" href="http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=18&is_app=0&jk=71b135827dd4deba&k=src&k0=src&kdi0=0&luki=5&n=10&p=baidu&q=06011078_cpr&rb=0&rs=1&seller_id=1&sid=baded47d8235b171&ssp2=1&stid=0&t=tpclicked3_hc&tu=u1922429&u=http%3A%2F%2Fwww%2Eadmin10000%2Ecom%2Fdocument%2F6546%2Ehtml&urlid=0" target="_blank">src</a>' include '**/*.<span id="25_nwp"><a id="25_nwl" href="http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=18&is_app=0&jk=71b135827dd4deba&k=java&k0=java&kdi0=0&luki=10&n=10&p=baidu&q=06011078_cpr&rb=0&rs=1&seller_id=1&sid=baded47d8235b171&ssp2=1&stid=0&t=tpclicked3_hc&tu=u1922429&u=http%3A%2F%2Fwww%2Eadmin10000%2Ecom%2Fdocument%2F6546%2Ehtml&urlid=0" target="_blank">java</a>' exclude '**/gen/**' classpath = files() }</span></span>

标签:

很赞哦! ()

本栏推荐