一键导入
java-check-pmd
PMD静态分析技能:使用PMD进行Java代码质量分析,检测代码坏味道、编码规范和安全问题
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
PMD静态分析技能:使用PMD进行Java代码质量分析,检测代码坏味道、编码规范和安全问题
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
AI记忆持久化系统。使用memrec存储、检索、管理跨会话记忆。支持项目隔离、混合检索(KNN+BM25)、MMR重排、中文搜索。触发场景:(1)重要决策需记录,(2)关键知识需保存,(3)项目上下文需跨会话保持,(4)用户偏好需记忆,(5)检索历史知识辅助当前任务。
Rust 性能分析技能:通过 cargo flamegraph 生成火焰图(SVG),定位 CPU 热点函数并量化占比。适用于 Rust 项目性能瓶颈定位、热点分析、优化验证。触发场景:(1)分析 Rust 代码性能瓶颈,(2)定位 CPU 热点函数,(3)量化函数调用占比,(4)优化前后对比验证,(5)bench/unittest 性能不达预期时根因分析。
读取所有源代码,解构为设计图、设计文档、数据库设计; 没有执行文件,请按流程执行
项目问题侦测技能:综合分析设计、性能、安全问题,评分并提出重构或重建方案
局部代码修改技能:最小化修改完成功能,确保无蝴蝶效应,支持独立测试验证和全量关联检查
该skill没有执行文件,为操作指引:如何重构
| name | java-check-pmd |
| description | PMD静态分析技能:使用PMD进行Java代码质量分析,检测代码坏味道、编码规范和安全问题 |
PMD(Programming Mistake Detector)检测Java代码中的编码规范违规、代码坏味道、潜在缺陷和安全漏洞。
PMD_HOME=~/app/pmd-bin-6.19.0
PMD_CLI=$PMD_HOME/bin/run.sh
PMD_RULESETS=/home/helly/open_source/github/pmd/pmd-java/src/main/resources/rulesets
SRC_DIR=src/main/java # Maven项目
# 或 SRC_DIR=src # 标准项目
# 代码风格检查
$PMD_CLI pmd -d $SRC_DIR -R rulesets/java/quickstart.xml -f text -r pmd-style.txt
# 完整质量检查
$PMD_CLI pmd -d $SRC_DIR -R rulesets/java/basic.xml,rulesets/java/design.xml -f text -r pmd-quality.txt
# 安全漏洞检查
$PMD_CLI pmd -d $SRC_DIR -R rulesets/java/security.xml -f text -r pmd-security.txt
$PMD_CLI pmd -d $SRC_DIR -R custom-ruleset.xml -f text -r pmd-custom.txt
$PMD_CLI pmd -d $SRC_DIR -R rulesets/java/basic.xml -R rulesets/java/codeestyle.xml -f text -r pmd-combined.txt
$PMD_CLI cpd --minimum-tokens 100 --files $SRC_DIR --language java --format text --fail-on-violation true
$PMD_CLI cpd --minimum-tokens 50 --files $SRC_DIR --language java \
--format xml --ignore-literals true --ignore-identifiers true
Read templates/result-processing.md
# 分析特定文件
$PMD_CLI pmd -d src/main/java/com/example/Test.java -R rulesets/java/quickstart.xml -f text
# 分析文件列表
$PMD_CLI pmd -filelist filelist.txt -R rulesets/java/quickstart.xml -f text
$PMD_CLI pmd -list # 查看所有规则
$PMD_CLI pmd -list -language java # 查看Java规则
$PMD_CLI pmd -help -language java -rule EmptyCatchBlock # 查看规则详情
$PMD_CLI pmd -d $SRC_DIR -R rulesets/java/quickstart.xml -f text -verbose # 详细输出
$PMD_CLI pmd -d $SRC_DIR -R rulesets/java/quickstart.xml -f text -debug # 调试模式
| 参数 | 描述 | 默认值 |
|---|---|---|
--minimum-tokens | 最小token数 | 100 |
--language | 检测语言 | java |
--format | 输出格式 | text |
--ignore-literals | 忽略字面量 | false |
--ignore-identifiers | 忽略标识符 | false |
| 问题 | 原因 |
|---|---|
| No files to process | 源代码路径不正确 |
| Unsupported language | 语言参数不正确 |
| RuleSetNotFoundException | 规则集文件不存在 |
| 模板文件 | 用途 |
|---|---|
templates/output-formats.md | 输出格式(text/xml/csv/html) |
templates/custom-ruleset.md | 自定义规则集XML模板 |
templates/build-integration.md | Maven/Gradle集成配置 |
templates/rulesets-reference.md | 规则集速查表(basic/codeestyle/design/security/performance) |
templates/result-processing.md | 结果解析与趋势报告脚本 |
技能版本: 1.0.0
工具版本: PMD 6.19.0
适用项目: Java 8+ 企业级项目
输出位置: 当前目录下的pmd-*.txt文件