pmd相关内容
我们正在从头开始开发一个网络项目,并正在研究以下静态代码分析工具. 约定(Checkstyle) 不良做法 (PMD) 潜在错误 (FindBugs) 该项目建立在 Maven 之上.我没有为此使用多种工具,而是在寻找一个灵活的解决方案并遇到了 SonarQube. 我们真的可以使用 SonarQube 实现 Checkstyle、PMD 和 Findbugs 的结果吗?
..
我想在我的 IDE (Eclipse) 中使用与我的 Sonar 配置文件相同的规则集. 我从 Sonar Permalinks 获得了 PMD XML 规则集,并希望将其导入我的 PMD Eclipse 插件,但是当我尝试这样做时,“确定"按钮被停用... 有人可以帮我吗? 解决方案 问题可能是 Sonar 正在将您的规则集导出为 v4.x 格式,而您的 Eclipse 插件
..
1.关于 PMD: 1.1 如何设置 PMD 检查,以忽略其中的一些检查,例如“变量名称太短或太长"、“删除空构造函数等" - 如果我这样做,则会出现另一个警告说该类必须有一些静态方法.基本上,这个类是空的,以供以后开发,我现在喜欢这样. 1.2 是否有必要遵循此警告建议? 只有私有构造函数的类应该是最终的 1.3 那应该是什么意思? 类“狗"的圈复杂度为 3(最高 = 17
..
谁能告诉我如何在 Eclipse 中安装 PMD.我已经从以下链接下载了 PMD 5.0.4: http://sourceforge.net/projects/pmd/files/latest/download?source=files 当我在 Eclipse 安装选项中添加此存档文件时,我收到一条错误消息,指出“找不到指定的文件". 解决方案 只需按照 http://sour
..
我们有一个 Java 应用程序,其中有几个模块可以读取文本文件.他们用这样的代码很简单地做到了: BufferedReader br = new BufferedReader(new FileReader(file));字符串行 = null;while ((line = br.readLine()) != null){...//在这里做一些文件} 我在我的项目上运行了 PMD 并在 whil
..
在我的应用程序中,我通过 PMD 运行我的代码.它向我显示以下消息: 避免使用printStackTrace();改用记录器调用. 这是什么意思? 解决方案 这意味着你应该使用日志框架,比如 logback 或 log4j 而不是直接打印异常: e.printStackTrace(); 你应该使用这个框架的 API 来记录它们: log.error("Ops!", e);
..
我正在升级我现有的 SonarQube 3.7.4 安装到新的 LTS 版本 4.5.4. 我想重用我的规则集,我正在使用 sonarqube ant 任务(和以前一样)来分析我的项目. 在不更改任何其他内容的情况下将声纳安装和 ant 任务升级到 2.2 后,我在执行 ant 任务时遇到 NoClassDefFoundError: build.xml:1659: org.sonar.r
..
我是 Jenkins 的新手,刚刚开始配置它.这就是我到目前为止所做的: 安装并配置 Jenkins 以显示主页.添加了 PMD 插件. 将 HUDSON_HOME 设置为特定目录 > C:\Work\Jenkins 配置了一个测试构建来运行一个简单的什么都不做的蚂蚁脚本.运行成功 编写了一个独立的 pmdbuild.xml 来对 C:\myview 中的一组文件运行检查(我使
..
我的规则要求我只将它们应用于名称中不包含“get"的方法.换句话说,我的规则只需要应用于类中的非 getter 方法.我知道要掌握所有非 getter 方法,我可以使用 //MethodDeclarator[not(contains(@Image,'get'))] 但是,我不知道在何处插入规则逻辑的语法.是不是像 //MethodDeclarator[不(包含(@Image,'get'))'
..
根据工具 PMD,以下是不好的做法: String s = "" + 123;//坏的String t = Integer.toString(456);//好的这是将任何类型转换为 `String` 的低效方法. 为什么这样做不好? 解决方案 String s = "" + 123;//坏的String t = Integer.toString(456); 将被编译为: Strin
..
PMD 报告 NullAssignment 以下代码,修复它的最佳做法是什么? 将对象分配为 null 是一种代码异味.考虑重构. 以下代码不是我写的,我也有疑问,为什么创建一个临时的定时器实例,然后将这个实例分配给定时器?startTimer 和 stopTimer 将在多线程上下文中使用. 私有定时器定时器;私有无效 startTimer() {如果(定时器 == 空){定时器
..
我正在尝试将一个带有PMD插件的pom.xml文件集成到构建阶段. PMD版本 3.13.0 Oracle JDK 14
..
我正在尝试为班级禁用几个任意的PMD警告. 如何列出要忽略的几个PMD规则?我无法在Google上找到. @SuppressWarnings("PMD.OnlyOneReturn")@SuppressWarnings("PMD.ShortVariable")公共类MyClass { 它给出了Eclipse编译时错误: 重复注释@SurpressWarnings 这是可编译但被忽
..
我创建了一个自定义的PMD规则集xml文件,以排除某些规则检查.
..
我在项目中创建了一个运行时异常,我想确保它被捕获在我的一个类中,这样整个程序不会在发生时爆炸(例如,如果有人删除了我想通过构建或静态分析工具中的某些操作使try/catch语句失败).不幸的是,由于Java没有强制我对此未检查的异常使用try/catch语句,因此无法在编译时强制执行它.(我无法将我的例外更改为已检查的例外). 我想知道是否可以通过使用checkstyle/pmd/findb
..
这是我正在写junit的我的实际课程.我将HtpClient设置为私有和最终版本. public class KMSHttpClientImpl implements KMSHttpClient { /** * ObjectMapper Instance. */ private final ObjectMapper objectMapper = new ObjectMapper ()
..
帮助.我想牺牲这个声誉来获得一个正确的答案. public class ParameterNameConvention extends AbstractJavaRule { private final static String PATTERN = "[p][a-zA-Z]+"; public Object visit(ASTMethodDeclaration node, Obj
..
我正在build.gradle文件中使用PMD Gradle插件.有没有一种方法可以禁用pmdTest任务,以使其无法运行,请执行gradle check? 编辑:在问题中,我说“删除".我真的是说“禁用". 解决方案 pmd { sourceSets = [sourceSets.main] } 请参见 PmdExtension 在 Gradle Build Langua
..
我们有使用Spring框架的 NamedParameterJdbcTemplate 来执行各种JDBC语句.此类中的大多数方法都已重载.例如,一个版本的update()接受一个Map,其中的键是绑定变量名称,值是变量替换.另一个版本接受SqlParameterSource,它也允许提供列类型信息.我想写一个规则来标记使用Map版本,因为提供了类型信息我需要检查的一些代码是这样写的: ----
..
在使用PMD检查我的代码错误时遇到问题.我不知道如何同时满足两个要求.例如,如果我要检查文件扩展名BCD中不存在的名为ABC的方法.我知道如何使用PMD检查ABC是否存在或是否从BCD扩展出来. 赞: //PrimaryExpression/PrimaryPrefix/Name [@Image = "ABC"]; //ExtendsList/ClassOrInterfaceType [
..