fix:流程执行完成,更新算列状态
This commit is contained in:
74
.qoder/rules/rule.md
Normal file
74
.qoder/rules/rule.md
Normal file
@@ -0,0 +1,74 @@
|
||||
---
|
||||
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)**。如果代码本身足够清晰,则无需注释。
|
||||
|
||||
---
|
||||
|
||||
**当你为我生成代码时,请先自检是否违反了上述规则。如果我提交的代码不符合这些原则,请主动提示并给出重构建议。**
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user