job51-gitlab-cr-node-skill-prompt-optimize 1.3.3 → 1.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/mr-review-template.md +33 -20
- package/package.json +1 -1
package/mr-review-template.md
CHANGED
|
@@ -40,6 +40,11 @@
|
|
|
40
40
|
> - 代码重复或违反 DRY 原则
|
|
41
41
|
> - 类型安全警告(如原始类型使用、unchecked 转换)
|
|
42
42
|
> - **输出前检查**:若某行号范围的问题已在严重问题中报告,警告中**禁止**再出现该行号的任何条目
|
|
43
|
+
> - **强制排除**:警告中**不得包含**以下关键词描述的问题:
|
|
44
|
+
> - "空指针"、"NullPointerException"、"NPE"
|
|
45
|
+
> - "自动拆箱"、"Boolean 包装类"、"包装类转换"
|
|
46
|
+
> - "集合遍历"、"stream()"、"数组越界"
|
|
47
|
+
> - 任何可能导致运行时异常的描述
|
|
43
48
|
10. **问题描述准确性规则**:
|
|
44
49
|
> - 必须准确识别代码变更引入的实际风险,不得以次要风险(如性能影响)掩盖主要风险(如空指针异常)
|
|
45
50
|
> - 示例:删除 `CollectionUtils.isEmpty(jobids)` 空检查后,若后续直接调用 `jobids.stream()`,实际风险是 **NPE** 而非"不必要的 Redis 操作"或"性能影响"
|
|
@@ -66,32 +71,40 @@
|
|
|
66
71
|
> - **第二步:检查是否存在行号重叠**(完全相同或有交集即视为重叠)
|
|
67
72
|
> - **第三步:若发现重叠,仅保留最高优先级级别的问题**
|
|
68
73
|
> - 优先级顺序:严重问题 > 警告 > 优化建议
|
|
69
|
-
|
|
70
|
-
> -
|
|
71
|
-
> -
|
|
72
|
-
|
|
73
|
-
>
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
> -
|
|
74
|
+
> - **强制删除**:低级别中与高级别行号重叠的条目必须删除,不得保留
|
|
75
|
+
> - **第四步:验证警告中是否包含运行时异常风险**
|
|
76
|
+
> - 检查警告问题描述中是否包含"空指针"、"NullPointerException"、"自动拆箱"等关键词
|
|
77
|
+
> - 若包含,必须将该问题升级为严重问题
|
|
78
|
+
> - **第五步:验证错误代码示例**
|
|
79
|
+
> - 检查所有错误代码示例中是否包含 `-` 开头的行
|
|
80
|
+
> - 若包含,必须重新选取变更后实际存在的代码
|
|
81
|
+
> - **第六步:验证安全问题是否针对已删除代码**
|
|
82
|
+
> - 检查安全问题涉及的敏感信息(如令牌、密码等)是否在变更中已被删除
|
|
83
|
+
> - 若已删除(`-` 开头),必须删除该安全问题条目
|
|
84
|
+
> - **最终验证**:生成报告前必须确认:
|
|
85
|
+
> - 严重问题、警告、优化建议中不存在任何行号重叠的条目
|
|
86
|
+
> - 所有错误代码示例展示的是变更后实际存在的代码(无 `-` 前缀)
|
|
87
|
+
> - 不存在针对已删除代码的安全问题报告
|
|
80
88
|
17. **代码变更方向识别规则**:
|
|
81
89
|
> - **变更内容格式说明**:
|
|
82
|
-
> - 以 `-`
|
|
83
|
-
|
|
84
|
-
|
|
90
|
+
> - 以 `-` 开头的行表示**已删除的代码**,**禁止**作为审查对象
|
|
91
|
+
> - 以 `+` 开头的行表示**新增的代码**,是审查的重点
|
|
92
|
+
> - 以空格开头的行表示**未变更的上下文代码**,仅作参考
|
|
85
93
|
> - **审查对象**:
|
|
86
94
|
> - 仅审查**变更后保留的代码**(新增代码 + 未删除的原有代码)
|
|
87
|
-
|
|
95
|
+
> - **禁止**对已删除的代码报告任何问题(包括安全问题、性能问题等)
|
|
88
96
|
> - **错误代码示例的选取**:
|
|
89
|
-
> -
|
|
90
|
-
|
|
97
|
+
> - 必须从**变更后实际存在的代码**中选取(`+` 开头的行或空格开头的保留行)
|
|
98
|
+
> - **禁止**展示以 `-` 开头的已删除代码作为错误示例
|
|
99
|
+
> - **安全问题特殊处理**:
|
|
100
|
+
> - 若敏感信息(如硬编码令牌、密码等)在变更中已被删除(`-` 开头),**不得**再报告此安全问题
|
|
101
|
+
> - 仅当敏感信息在变更后仍存在(`+` 开头或空格开头的保留行)时,才报告安全问题
|
|
91
102
|
> - **示例**:
|
|
92
|
-
> -
|
|
93
|
-
|
|
94
|
-
|
|
103
|
+
> - 若代码第一个位置以 `-` 开头表示已删除
|
|
104
|
+
> - **处理**:不报告此安全问题
|
|
105
|
+
> - 若该行以 `+` 开头表示新增或保留
|
|
106
|
+
> - **处理**:报告安全问题,错误代码展示该行(不带 `-` 前缀)
|
|
107
|
+
|
|
95
108
|
|
|
96
109
|
<REPORT>
|
|
97
110
|
## 🤖 AI代码审查结果
|