1---2name: coding-standard-full3description: 华为 CodeArts Check Java 编程规则集(144条规则,按分类拆分,按需加载)。在用户编写或修改 Java 代码、做 Code Review、要求检查代码规范时主动应用。覆盖命名、异常、日志、并发、格式化、安全等全部规则。涉及关键词:编程规范、代码规范、coding standard、code convention、规范检查、代码风格、Code Review、华为规则、CodeArts Check、G.FMT、G.NAM、G.ERR。不适用于:只问 Java 语法概念、非 Java 代码、调试运行错误、配置部署问题。4---56# 华为 Java 编程规则集 — 索引(按需加载)78共 144 条规则,按 20 个分类拆分到 `rules/` 子目录。本文件仅保留索引,需要查看某分类的详细规则(含示例代码)时,用 Read 工具加载对应文件。910## 严重级别1112| 级别 | 标记 | 含义 |13|---|---|---|14| 0 致命 | 🔴 | 安全漏洞,必须修复 |15| 1 严重 | 🟠 | 高风险问题,优先修复 |16| 2 一般 | 🟡 | 规范问题,应当修复 |17| 3 建议 | 🟢 | 改善建议,推荐修复 |1819## 快速自检(覆盖 80% 常见问题)20211. `G.NAM.03` 类/枚举/接口:PascalCase222. `G.NAM.04` 方法名:camelCase233. `G.NAM.05` 常量:ALL_UPPERCASE + 下划线244. `G.ERR.01` 禁止空 catch 块255. `G.ERR.02` 禁止直接捕获 Throwable/Exception/RuntimeException266. `G.ERR.06` 🔴 重抛异常时必须传入原始异常作为 cause277. `G.FMT.07` 避免空代码块;必须使用时加注释288. `G.LOG.01` 使用 SLF4J 门面,不直接用 Log4j/Logback299. `G.LOG.02` Logger 声明为 private static final3010. `G.OBJ.06` 覆写 equals 必须同时覆写 hashCode3111. `G.PRM.05` 禁止创建不必要的对象3212. `G.CON.07` 新线程必须指定线程名3334## 场景 → 规则速查3536| 场景 | 规则前缀 | 加载文件 |37|---|---|---|38| 服务/业务类 | G.OBJ, G.NAM, G.CMT | rules/G.OBJ.md, rules/G.NAM.md, rules/G.CMT.md |39| 异常处理 | G.ERR, G.CTL | rules/G.ERR.md, rules/G.CTL.md |40| 多线程代码 | G.CON, G.TYP, SEC_EXT | rules/G.CON.md, rules/G.TYP.md, rules/SEC_EXT.md |41| 日志 | G.LOG | rules/G.LOG.md |42| 集合/泛型 | G.COL | rules/G.COL.md |43| IO 操作 | G.PRM, G.FIO, G.TYP | rules/G.PRM.md, rules/G.FIO.md, rules/G.TYP.md |44| 方法签名 | G.MET, G.NAM, G.ERR | rules/G.MET.md, rules/G.NAM.md, rules/G.ERR.md |45| 常量/枚举 | G.NAM, G.DCL, G.FMT | rules/G.NAM.md, rules/G.DCL.md, rules/G.FMT.md |46| 覆写 equals | G.OBJ, G.EXP | rules/G.OBJ.md, rules/G.EXP.md |47| 可序列化类 | G.SER | rules/G.SER.md |48| 安全审查 | G.SEC, G.EDV, G.FIO, G.OTH, SEC_EXT | rules/G.SEC.md, rules/G.EDV.md, rules/G.FIO.md, rules/G.OTH.md, rules/SEC_EXT.md |4950## 分类索引5152| 分类 | 文件 | 规则数 |53|---|---|---|54| G.CMT 注释 | rules/G.CMT.md | 8 |55| G.COL 集合与泛型 | rules/G.COL.md | 3 |56| G.CON 并发 | rules/G.CON.md | 12 |57| G.CTL 控制流 | rules/G.CTL.md | 3 |58| G.DCL 声明 | rules/G.DCL.md | 5 |59| G.EDV XML安全 | rules/G.EDV.md | 3 |60| G.ERR 异常处理 | rules/G.ERR.md | 11 |61| G.EXP 表达式 | rules/G.EXP.md | 6 |62| G.FIO 文件IO | rules/G.FIO.md | 4 |63| G.FMT 格式化 | rules/G.FMT.md | 20 |64| G.LOG 日志 | rules/G.LOG.md | 4 |65| G.MET 方法 | rules/G.MET.md | 7 |66| G.NAM 命名 | rules/G.NAM.md | 8 |67| G.OBJ 类与对象 | rules/G.OBJ.md | 10 |68| G.OTH 其他 | rules/G.OTH.md | 5 |69| G.PRM 性能 | rules/G.PRM.md | 8 |70| G.SEC 安全 | rules/G.SEC.md | 3 |71| G.SER 序列化 | rules/G.SER.md | 5 |72| G.TYP 类型 | rules/G.TYP.md | 11 |73| SEC_EXT 扩展安全 | rules/SEC_EXT.md | 8 |7475## 使用方式76771. **Code Review 时**:根据代码涉及的分类,用 Read 工具加载对应 `rules/*.md` 文件,获取详细规则+示例代码782. **按规则 ID 查找**:规则 ID 格式 `G.<前缀>.<编号>`,根据前缀定位文件,如 `G.ERR.02` → 加载 `rules/G.ERR.md`793. **按场景查找**:参考「场景 → 规则速查」表,确定需要加载的文件