我从事Java开发工作。我最近遇到了一种情况,我必须遵守编码标准:成员和方法排序、命名约定、修饰符顺序。我正在考虑的方法要么是自动检查遵从性,要么是生成某种进行重新排序的机制。
我们正在使用Eclipse进行开发,但技术将是开放的。它可能工作的一种方式是生成一个外部构建器工具,并将其添加到项目中。缺点是它将自动应用于所有文件,这可能会遇到遗留代码的问题,将错误计数放大到不再是合规性的合理度量的程度。而且,它使得代码审查变得更加困难,这是不需要的。
另一种方式是某种解析器,它只具有提供信息的功能。我们可以在Jenkins内部运行一个进程,这肯定会起作用,但这也意味着代码已经通过了审查,这对于代码合规性检查来说通常有点晚。
有没有建议的甚至简单的方法来将这些功能集成到IDE、源代码控制系统(Mercurial)甚至Jenkins中?这在其他地方是如何强制执行的?
发布于 2013-03-30 00:35:41
我不建议自动进行这样的更改。尽管大多数checkstyle/pmd都是有效的,但我碰巧需要忽略一些警告/错误。此外,这样的简单问题只有很少的一小部分。大多数通知需要更复杂的操作,并且可能无法在没有人工交互的情况下完成。
我使用的是Sonar集成。它包含许多外部检查器,如PMD,CPD,Checkstyle,Findbugs,并可以与其他一些有用的工具集成,如Cobertura (测试覆盖率统计)。将Sonar构建绑定到Jenkins构建几乎是微不足道的,尝试避免主要/关键问题可能被认为是一个好方法。
在开发环境中,我使用带有findbugs的Eclipse集成。还有一些与声纳的集成点,但它需要将代码提交到服务器或在本地运行服务器,这是我个人不喜欢的。但是,在Sonar中进行代码审查之后,经过几个周期的改进,您会注意到您(和其他团队成员)遵守大多数规则,每天检查报告就足够了。
发布于 2013-03-30 00:21:26
一种解决方案是使用JCSC / checkstyle或其他命令行友好的工具。将其集成到您的构建过程中。单个开发人员在他的分支上运行此程序。
大多数工具与Jenkins (通过插件)集成得很好,Jenkins可以用作仪表板
发布于 2013-03-30 00:39:28
根据@Jayan的回答,Jenkins有一个CheckStyle plugin,它将显示每次CheckStyle运行的结果,并允许您根据发现的违规数量来设置构建状态。因此,您的设置步骤如下:
https://stackoverflow.com/questions/15707084
复制相似问题