关于android:Android打造专有hook让不规范的代码扼杀在萌芽之中

2次阅读

共计 2819 个字符,预计需要花费 8 分钟才能阅读完成。

俗话说,无规矩不成方圆,同样的放在代码里也是非常的贴切,所谓在代码里的规矩,指的就是标准,在肯定标准束缚下的我的项目,无论是参加开发还是前期保护,都是十分的直观与便捷,不能说赏心悦目,也能够用强壮可保护来示意;毕竟协同开发的我的项目,每个人都有本人的一套开发规范,你没有一套标准,或者是标准没有落地执行,想想,长此以往,会产生什么?代码堆积如山?保护老本翻倍减少?新人接手艰难?等等,所谓的问题会扑面而来。

正所谓标准是一个我的项目的基石,也是掂量一个我的项目,是否强壮,稳固,可保护的规范,堪称是相当重要的。我置信,大部分的公司都有本人的一套标准规范,我也置信,很多可能就是一个陈设,毕竟人员的泛滥,无奈做到一一的束缚,如果采取人工的查看,有形当中就会投入大量的工夫和人力老本,基于此,所谓的标准,也很难执行上来。

介于人工和工夫的投入,我在以往的钻研与摸索中,开发出了一个可视化的代码查看工具,之前进行过分享,《一个便捷操作的 Android 可视化标准查看》,想理解的老铁能够看一看,本篇文章不做过多介绍, 过后只介绍了工具的应用,没有介绍相干性能的开发过程,后续,有工夫了,我会整顿开源进去,始终忙于开发,老铁们,多体谅。这个可视化的查看工具,尽管大大提高了查看效率,也节俭了人力和工夫,但有一个潜在的弊病,就是,只能查看提交之后的代码是否符合规范,对于提交之前没有进行查看,也就说,在提交之前,标准也好,不标准也罢,都能提交上来,用工具查看后,进行批改,更改不标准的中央后而后再提交,只能采取这样的一个模式查看。

这样的一个模式,比拟合乎,最初的代码查看,实用于我的项目负责人,开发 Leader,对组员提交上来的代码进行标准的审阅,其实并不适用于开发人员,不实用不代表着不可用,只不过绝对流程上略微简单了几步;应答这样的一个因素,如何实用于开发人员,不便在提交代码之前进行标准查看,便整体提上了研发日程,通过几日的钻研与编写,一个简略便捷的 Android 端 Git 提交专有 hook,便应运而生了。

说它简略,是因为不须要编写任何的代码逻辑,只须要寥寥几步命令,便装置结束,通过配置文件,便可灵便定制属于本人的查看范畴。

为了更好的论述性能及讲述实现过程,便于大家定制本人的开发标准,再加上篇幅的束缚,我总结了四篇文章来进行零碎的梳理,还请大家,放弃关注,明天这篇,次要讲述最终的开发成绩,也就是标准工具如何应用,标准这个货色,其实大差不差,大家齐全能够应用我本人曾经开发好的这套。

这个工具的开发,利用的是 git 钩子 (hook),当然也是借助的是 Node.js 来实现的相干性能,下篇文章会具体介绍,咱们先来安装程序,来目击一下理论的成果,安装程序,只须要执行几步命令即可,无需代码染指,在理论的开发中须要开发人员,别离进行装置。

装置流程

1、装置 Node.js,如果曾经装置,可间接第 2 步:

Node.js 中容许应用 JavaScript 开发服务端以及命令行程序,咱们能够去官网 https://nodejs.org
下载最新版本的安装程序,而后一步一步进行装置就能够了,这个没什么好说的,都是开发人员。

2、装置 android_standard

android_standard 是最终的工具,外面蕴含着拦挡代码判断的各种逻辑,在我的项目根目录下执行如下命令:

npm install android_standard --save-dev

执行完命令后,你会发现,你的我的项目下曾经多了一个目录,还有两个 json 文件,如下图所示:

node_modules,用来寄存下载安装的包文件夹,外面有咱们要应用到的性能,其实和 Android 中 lib 目录很相似,都是一些提供性能的库。

package.json 文件,是配置文件,比方利用的名字,作者,介绍,还有相干的依赖等,和 Android 中的 build.gradle 文件相似。

3、创立 git 配置文件,执行如下命令

node node_modules/android_standard/gitCommitConfig

命令执行胜利会返回如下信息:

此命令执行完后,会在我的项目根目录下创立 gitCommitConfig 文件,这个文件很重要,是咱们执行相干命令的配置文件,内容如下,大家能够依据本人理论我的项目须要进行更改。

我的项目下生成 gitCommitConfig.android 文件,.android 是我本人定义的,至于什么格局,等你本人开发的时候,齐全能够自定义,是个文件就行。

关上后,文件内容如下,此文件是比拟重要的,后续所有的标准查看,都要依据这个文件里的参数来执行,大家在应用的时候,就能够通过这个文件来操作具体的标准查看。

4、更改执行文件,执行如下命令

执行文件,就是须要在上边生成的 package.json 文件,增加运行程序,使其在 git 提交时进行 hook 拦挡。

node node_modules/android_standard/package

5、增加 git 过滤

因为执行完上述命令后,会产生几个文件,而这几个文件是不须要咱们上传到近程仓库的,所以咱们须要在.gitignore 文件里增加疏忽,间接复制即可。

/node_modules
package.json
package-lock.json
gitCommitConfig.android

6、后续如果有更新,可操作命令进行操作:

注:此命令在更新时执行

npm update android_standard --save-dev

7、删除操作

注:后续不想应用了,便可执行如下命令:

npm uninstall android_standard --save-dev

具体应用

通过上述的装置流程,短短几个命令,咱们的标准查看便装置结束,后续只须要通过 gitCommitConfig.android 文件,来动静的更改参数即可,是不是十分的不便,接下来,咱们来理论的操作一番。

对于配置文件的相干参数,也都有正文,一看便知,这里简略针对最初的参数,做一个阐明,也就是 gitCommand 这个参数,true 为工具,false 为命令形式;true 也好,false 也好,在次要的性能验证上,没有区别,惟一的区别就是,命令行的形式提交,会有色彩辨别,前面有成果。

咱们先来看下命令行下的执行成果,当配置文件开关 gitCommitSwitch 已开,并且 gitCommand 为 false,其余的配置参数,大家能够依据须要进行改变,在代码提交的时候如下成果:

在 Android studio 中执行成果

TortoiseGit 提交成果:

目前呢,针对 Android 端的标准查看,无论是 java 还是 Kotlin,还是资源文件,都做了肯定的适配,通过多方测试,一切正常,如果大家的公司也须要这样的一个 hook 工具,欢送应用,也欢送持续关注接下来的相干实现逻辑文章。

好了各位老铁,这篇文章先到这里,下篇文章会讲述,具体的实现过程,敬请期待!

正文完
 0