代码提交预校验
随着代码量的提升,代码的质量管理也是必不可少的。代码的规范性与软件缺陷是有紧密联系的,质量高的代码将直接提高软件的质量。
通过svnserver1.6.9+svnchecker0.3+checkstyle5.2的集成,达到svn在代码提交的时候,做一些静态代码规范的校验,提高代码质量。
预期不规范的代码在svn提交时,会提示对应代码的错误信息。
结构图
Subversion安装
<提示:Svnserver的安装相信大家都做过, 直接忽略。>
Subversion集成svnchecker
SVNChecker是一个开源的检查框架,他可以做各种检查(不仅仅是代码规范性),并针对各种检查匹配处理模块。
也就是说目前虽然只是进行“代码规范性检查”,但是加入SVNChecker后,今后若想进行其他检查,就可以轻而易举的扩展了。
以“提交”事件举例,当提交事件发生之前将执行hooks中的pre-commit脚本,提交事件之后将执行hooks中的post-commit脚本。
于是我们就可以在pre-commit脚本里加入SVNChecker的执行命令。
集成方法
将Subversion仓库目录hooks下的文件pre-commit.tmpl重命名为pre-commit。
修改pre-commit的脚本如下:(svnchecker-0.3目录以实际为准)
svnchecker集成checkstyle
CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具。
它能够自动化代码规范检查过程,从而使得开发人员从这项重要,但是枯燥的任务中解脱出来。
其中checkstyle的文件checkstyle_checks.xml是对Java代码规范的定义(以后主要是对该文件的维护,此处使用以华为的checkstyle.xml为基础修改的配置文件)。
此处只开启部分的校验,可以随着代码质量的提升而渐渐放开,加入校验。
集成方法
下载并安装CheckStyle(使用版本:5.2)
checkstyle5.2下载-已配置
其中checkstyle-5.2-all.jar为供svnchecker调用的jar文件,checkstyle_checks.xml是对Java代码规范的定义(以后主要是对该文件的维护)。
注意:需要赋予checkstyle-5.2-all.jar可执行的权限
下载并安装svnchecker(使用版本:0.3)
svnchecker0.3下载-已配置
注意:需要赋予Main.py和modules下所有文件可执行的权限。
定义文件svncheckerconfig.ini配置svnchecker
svncheckerconfig.ini文件是svnchecker的配置文件。但svnchecker中并未定义该文件,需要用户自己创建。
其位置可以放在svnchecker根目录(全局配置)或者svn资源库的hooks目录下(当前项目配置)。
效果展示
每次提交代码都要求写提交log,报错如下:
包名要求全部小写,类名要求首字母大写,报错如下: