Files

1.8 KiB

代码审查报告

文件: data\demo-pmd\src\nopackage\NoPackageDemo.java 语言: java 耗时: 52.0s 分析工具: pmd


总计: 6 | 错误: 1 | 警告: 3 | 建议: 2

静态分析 · 4 个问题

  • 🔴 pmd:SystemPrintln L8 使用了 System.out/err 输出,应避免直接写控制台。 建议: 改用日志框架记录信息,例如:Logger.getGlobal().info("no package");(需要 import java.util.logging.Logger;或使用 SLF4J 等)。
  • 🟡 pmd:NoPackage L6 所有类、接口、枚举和注解必须属于命名包(当前文件缺少 package 声明)。 建议: 在文件顶部添加 package 声明,例如:package com.example; 并确保目录结构与之匹配。
  • 🟡 pmd:AtLeastOneConstructor L6 每个类应至少声明一个构造函数(当前类没有显式构造函数)。 建议: 为类添加一个无参构造函数:NoPackageClass() {},或在需要时提供带参构造函数。
  • 🟡 pmd:CommentDefaultAccessModifier L7 方法 'm()' 缺少注释的默认(包私有)访问修饰符。 建议: 为默认访问级别的方法添加注释,例如:/* default */ void m() {;或显式改为 public/private 并添加相应注释。

AI 审查 · 2 条建议

  • 🔵 [AI] [style] missing-javadoc L6 类缺少 Javadoc 注释 类 NoPackageClass 没有任何 Javadoc 注释,无法说明类的用途和意图,降低代码可维护性。 建议: 在类声明前添加 Javadoc 注释,例如:/** 示例类,用于演示 PMD 规则。 */
  • 🔵 [AI] [design] method-could-be-static L7 方法 m() 可以声明为 static 方法 m() 不访问任何实例字段,也不使用 this,符合静态方法的特征。若声明为 static,可通过类名直接调用,语义更清晰。 建议: 将 void m() 改为 static void m()。