项目总监在管理项目时,会担心技术人员开发代码不规范的问题。如果人员少口头述说一下就好了。但是人员大呢?比如50人的大团队,如果一个一个去说那肯定不可能。所以就需要借助工具checkstyle了。checkstyle的介绍如下:
“CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具。它能够自动化代码规范检查过程,从而使得开发人员从这项重要,但是枯燥的任务中解脱出来。”
-------来自百度百科
相信很多人使用过它,但是项目经理无法保证所有开发人员都有使用它,但是代码规范就是要强制执行!接下来我就介绍项目如何强制执行checkstyle,让开发人员不去绕过它。
现在的代码管理基本都是使用git,git里面有个内置工具hooks。hooks的作用简单来说就是你使用git某些指令的时候,会触发hooks。可以看做hooks就是git的内置拦截器。如果每个技术人员能把项目总监的hooks装上,那么就可以在提交操作时强制执行hooks中的pre-commit拦截器:
加上之后,如果本次提交的代码有问题,就会报checkstyle的错误,并且终止提交(如果拦截器返回为非0则会阻止每次操作)。如图:
那么技术总监如果能把这个pre-commit装到每个开发人员的hooks里,就可以实现提交代码强制执行checkstyle。接下来就是在项目中如何把checkstyle装到每个开发人员的电脑中的技术方案。
原理:选定一个必须触发的条件,在触发方法中在hooks中生成pre-commit。
我通过spring的生命周期,在项目启动的时候,把要执行的pre-commit内容写入到该项目对应的git中的hooks里。这样开发人员只要拉取代码并且启动项目,pre-commit就会生成在hooks里了。后续开发人员提交代码的时候,如果有代码规范问题工具就会提醒开发人员并且不让提交成功,只有在做好规范后才能提交成功。
由于公司政策,就不贴源代码了。