java - 怎么将代码检查前置?
问题描述
目前我所了解的代码检查,一般都是在持续集成阶段来做。这么做虽然能够保证代码质量,但个人认为依然成本有点大主要体现在:一个开发人员好不容易在自己分支上开发完成,然后push到服务器上,然后持续集成检查代码,发现代码风格不通过,这整个过程反馈的时间过长了。
目前开发的java项目希望能将代码检查如(checkstyle,pmd等)这些检查必须在本地提交前通过检查,而不是在push到代码仓库之后再做,希望达到的目标如下:
提交前必须通过代码检查,否则不允许提交
最好有工具支持,且不要依赖于IDE
代码检查工具的配置文件最好能做版本管理
目前想到的解决方案(还未尝试):在maven中集成checkstyle等插件在git/hooks中用脚本调用maven 进行验证,验证通过提交,失败则不允许提交
问题解答
回答1:可以让开发人员只push到某个不能发布的分支(例如dev),而正式发布的分支(例如master)开发人员是无权直接push的。
在服务器上安装checkstyle等插件,如果检查通过就把dev合并到master,检查不通过就不允许合并。
回答2:你已正解,git hook就是用来做这些事的
回答3:我们是用sonar qube做的检查,配合jenkins在持续集成时检查。
不规定必须检查通过才能提交,因为我们给开发人员后面修改的时间。
个人认为,只要代码可编译、单元测试、集成测试都通过之后,就可以发布。代码检查出来的问题可以放到下一个版本迭代里去做,开发组长盯着开发人员修改就行了。
相关文章:
1. javascript - 求赐教:网易邮箱Web端模拟登录看信的加密参数_ntes_nnid、_ntes_nuid2. css - last-child不起作用3. node.js - 使用mongoose的cursor的问题4. javascript - 这里的?=和=是什么意思?5. node.js - 跳转EJS文件提示4046. 网页爬虫 - Java爬虫已获取图片链接但是无法下载图片7. ruby - gitlab托管,git clone 失败?8. 如何为每个应用程序配置tomcat 6的logs / catalina.out(为sys.out,sys.err配置Web应用程序特定的日志文件)9. Spring数据mongodb审核不起作用(Java配置)10. PHP自动加载报错找不到原因,求大佬帮忙看看

网公网安备