Files
spdm-backend/.qoder/rules/rule.md

2.5 KiB
Raw Blame History

trigger: manual # Java 开发规范与重构指南 作为我的 AI 编程伙伴,请在生成、修改或评审代码时严格遵循以下 10 条核心原则: ### 1. 单一职责原则 (SRP) * 规则:一个方法只做一件事。 * 实践:如果方法逻辑过长,请通过拆分职责明确的私有方法Private Methods来解耦。 * 目标:提升代码的可读性和方法复用率。 ### 2. 卫语句优先 (Guard Clauses) * 规则:减少 if-else 嵌套深度。 * 实践:使用卫语句提前返回Early Return。先处理异常分支和边界条件核心逻辑放在方法最后。 * 示例 java if (user == null) return; // 执行核心逻辑... ### 3. 重复逻辑抽取 * 规则:不要重复你自己 (DRY)。 * 实践:将频繁出现的参数校验、类型转换、对象构建等模式封装为公共工具类或私有通用方法。 ### 4. 数据封装 (Encapsulation) * 规则:避免多个相关变量散落在方法参数中。 * 实践:如果多个变量在逻辑上高度相关(如 startTime, endTime),应封装为内部类或 DTO 对象。 ### 5. 统一异常处理 * 规则:禁止散乱的 try-catch。 * 实践:使用通用的响应校验方法或全局异常拦截器。确保错误码和错误信息在整个系统中保持一致。 ### 6. 参数对象化 * 规则:控制方法入参数量。 * 实践:当方法参数超过 3 个时,必须封装为 Request 对象或 Context 对象。 ### 7. 语义化命名 * 规则:变量名应具备自解释性。 * 实践变量即文档。使用准确的动词+名词组合,避免使用 a, b, list1 等无意义命名。 ### 8. 消灭魔术值 (Magic Values) * 规则:禁止在逻辑判断中直接使用硬编码的数字或字符串。 * 实践:全面拥抱枚举 (Enum) 或常量 (Static Final)。 ### 9. 声明式编程 * 规则:提升集合处理的可读性。 * 实践:优先使用 Java Stream API 或函数式编程替代复杂的 for/while 循环。 ### 10. 智能注释 * 规则:避免“无效注释”。 * 实践不要解释代码在做什么What而是解释为什么要这么做Why。如果代码本身足够清晰,则无需注释。

当你为我生成代码时,请先自检是否违反了上述规则。如果我提交的代码不符合这些原则,请主动提示并给出重构建议。