草庐IT

Checkstyle

全部标签

java - 使用 checkStyle 强制执行 java 8 约定

我希望使用checkStyle为Java8实现一些最佳实践,一些示例包括:不要嵌套可选值如果lambda处于流转换的中间,则将其限制为x行针对并行流的一般警告根据我的研究,我可以看到checkStyle支持java8,但没有特定于执行功能标准的内容。这是可用的东西吗?感谢您的帮助。 最佳答案 如果checkstyle开箱即用地支持它,它将列在thestandardchecksthatcheckstylecomeswith中。(不幸的是,当我扫视它时,我没有看到任何东西)。如果它不在该列表中,我将开始查看第三方checkstyle库(

java - Checkstyle Java 泛型 : '?' is not preceded with whitespace

我正在使用插件maven-checkstyle-plugin2.17它有6.11.2checkstyle版本。关于空格的配置是:我总是得到这个错误:(whitespace)WhitespaceAround:WhitespaceAround:'?'isnotprecededwithwhitespace.(whitespace)WhitespaceAround:WhitespaceAround:'?'isnotfollowedbywhitespace.Emptyblocksmayonlyberepresentedas{}whennotpartofamulti-blockstatement(

java - Java代码中方法签名后禁止括号

在我最近的项目中,我遇到了可以完美编译的代码,但是对于任何读者来说都是非常令人惊讶的,不应该通过静态分析。classBracketsAfterMethodSignature{ObjectemptyArray()[]{returnnewObject[]{};}}我们使用Checkstyle、PMD、ErrorProne和SonarLint,但这些工具都不会提示这种结构。是否有任何可启用的规则或可用于防止此类代码的工具?显然是Checkstyle的ArrayTypeStyle不包括这种情况。编辑我正在对扩展名为.groovy的文件运行静态分析,SonarLint说这段代码没问题。将扩展名更

java - Maven 和代码指标 : check for existence of a test case for each class

在Maven中是否可以使用某些东西来自动执行这种检查?我看到了checkstyle和PMD,但没有找到此功能。基本上,如果有类A而没有ATestCase,我希望构建失败。我知道,这不是一个严格的检查,可以通过只创建类轻松绕过,但目前这就足够了。 最佳答案 你在找什么正如JensPiegsa指出的那样,您正在寻找的是一种可以显示测试覆盖率的工具,换句话说,就是您测试使用的代码百分比。它允许您以比(至少按类测试)更可靠的方式查看您的代码测试了多少。您可以使用Cobertura,它很好地集成在Maven中:http://mojo.code

java - 是否有 Checkstyle/PMD 规则 "Non-abstract classes should not be named AbstractXXX"?

我正在处理的Java项目结合使用了代码分析工具:PMD、Checkstyle和FindBugs。这些发现了大量错误、样式问题等,但经常有一个漏网之鱼:publicclassAbstractBadlyNamedClass{//Notabstract!//...}注意相反的方式被检查,即publicabstractBadlyNamedClass给出PMD警告“抽象类应命名为AbstractXXX”。任何人都可以建议是否有一种方法可以检查这一点,可以使用上述工具之一(可能是某种自定义规则?)或其他可以完成这项工作的自动化工具? 最佳答案

java - 基于属性的相同模块的 Checkstyle 不同严重性

是否可以为同一模块设置不同的严重级别但具有不同的属性?这是我正在看的: 最佳答案 是的,完全没问题!您的示例代码中存在一些小问题;这是一个稍微修改过的版本:我在两个模块上都设置了严重性。如果它与配置的默认严重性(通常是warning)相同,则可以省略一个。此外,我删除了在两个模块中声明Exception的冗余。这会导致您在同一行代码中遇到两个问题。仅指定完全限定的类名就足够了。 关于java-基于属性的相同模块的Checkstyle不同严重性,我们在StackOverflow上找到一个类

java - 如何将 TODO 处理集成到 Maven 测试阶段?

假设我有一个有很多待办事项的项目,一些无意中留在那儿,一些不再相关,一些代表future可能的功能等。我知道大多数IDE都可以显示/过滤/排序它们,但我正在寻找一种方法来执行更严格的策略。我正在寻找的是一些maven插件,我可以将其绑定(bind)到查找特定格式的TODO的测试阶段(例如//TODO-Ver...),如果找到任何内容,则会生成测试失败(然后可以通过hudson看到,将发送电子邮件,警报将响起,头将滚动等)。这个额外的执行将绑定(bind)到某些配置文件下的测试阶段,该配置文件只会在接近开发周期结束时或其他什么时候被激活。我的问题是以前有人做过这样的事吗?可以定制哪些代码

Java Checkstyle 严重级别继承意义?

在checkstyle规则中设置为“继承”的严重级别实际上意味着什么?尝试了很多谷歌搜索都找不到这个的实际定义- 最佳答案 Checkstyle规则配置在一个小而重要的层次结构中。Checker位于顶部,它的“child”之一是Treewalker,依此类推。可以为单个检查定义属性,也可以为这些“父检查”定义属性。因此,您的常规Checkstyle配置文件如下所示:如您所见,Checker的severity属性是最顶层的模块。如果层次结构中较低位置的检查将其严重性设置为inherit(这与未设置任何内容相同),那么在本示例中,其严重

java - 返回对存储在对象字段之一中的可变对象值的引用会暴露对象的内部表示

在我的代码中为以下几行运行checkstyle时出现此错误:@OverridepublicString[]getDescriptions(){returnDESCRIPTIONS;}但描述不是可变的。它被定义为:privatestaticfinalString[]DESCRIPTIONS=newString[NUM_COLUMNS];static{//Inaloopassignvaluestothearray.for(inti=0;i这是完整的错误信息:"Returningareferencetoamutableobjectvaluestoredinoneoftheobject'sfi

java - 你如何配置 Apache Ivy 来移除孤立的工件?

假设我有一个包含以下内容的ivy.xml:然后我想升级到Checkstyle4.4,所以我将ivy.xml更改为包含:在第一个配置的检索之后,我得到了文件checkstyle-4.3.jar。第二次配置后,我还有checkstyle-4.4.jar文件,checkstyle-4.3.jar文件依然存在。有没有办法让Ivy意识到旧文件是孤立文件,并将其从lib目录中删除?我的想法是,我不希望每次升级工具时我的开发人员的磁盘空间使用量都急剧增加。理想情况下,我也希望它也从本地存储库中删除。我确实意识到本地存储库的目的是在项目之间共享它,因此删除任何内容都没有意义,因为它不知道该工件是否仍在