1.8 KiB
1.8 KiB
代码审查报告
文件: data\demo-pmd\src\nopackage\NoPackageDemo.java
语言: java
耗时: 52.0s
分析工具: pmd
总计: 6 | 错误: 1 | 警告: 3 | 建议: 2
静态分析 · 4 个问题
- 🔴
pmd:SystemPrintlnL8 使用了 System.out/err 输出,应避免直接写控制台。 建议: 改用日志框架记录信息,例如:Logger.getGlobal().info("no package");(需要 import java.util.logging.Logger;或使用 SLF4J 等)。 - 🟡
pmd:NoPackageL6 所有类、接口、枚举和注解必须属于命名包(当前文件缺少 package 声明)。 建议: 在文件顶部添加 package 声明,例如:package com.example; 并确保目录结构与之匹配。 - 🟡
pmd:AtLeastOneConstructorL6 每个类应至少声明一个构造函数(当前类没有显式构造函数)。 建议: 为类添加一个无参构造函数:NoPackageClass() {},或在需要时提供带参构造函数。 - 🟡
pmd:CommentDefaultAccessModifierL7 方法 'm()' 缺少注释的默认(包私有)访问修饰符。 建议: 为默认访问级别的方法添加注释,例如:/* default */ void m() {;或显式改为 public/private 并添加相应注释。
AI 审查 · 2 条建议
- 🔵 [AI] [style]
missing-javadocL6 类缺少 Javadoc 注释 类 NoPackageClass 没有任何 Javadoc 注释,无法说明类的用途和意图,降低代码可维护性。 建议: 在类声明前添加 Javadoc 注释,例如:/** 示例类,用于演示 PMD 规则。 */ - 🔵 [AI] [design]
method-could-be-staticL7 方法 m() 可以声明为 static 方法 m() 不访问任何实例字段,也不使用 this,符合静态方法的特征。若声明为 static,可通过类名直接调用,语义更清晰。 建议: 将 void m() 改为 static void m()。