37 lines
1.8 KiB
Markdown
37 lines
1.8 KiB
Markdown
# 代码审查报告
|
|
|
|
**文件:** `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()。
|