job51-gitlab-cr-node-skill-prompt-optimize 1.5.4 → 1.5.6

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.
@@ -110,6 +110,10 @@
110
110
  > - 方法签名行(除非签名本身有安全问题)
111
111
  > - 仅定义变量但未使用的行
112
112
  > - 其他不会直接导致运行时错误的位置
113
+ > - **Feign Client 远程调用返回值校验**:
114
+ > - Feign Client 接口调用(如 `xxClient.getXxx()`)的返回值**不纳入空指针审查范围**
115
+ > - Feign 框架会在调用失败时抛出异常,而不是返回 null
116
+ > - 示例:`Result<UserTaskPop> userTaskPop = userTaskClient.getUserTaskPop(accountId);` 后续调用 `userTaskPop.requestSucceeded()` **不应报告 NPE 问题**
113
117
  5. 使用当前系统时间填充 `[当前时间]`,并根据实际变更内容计算 `[文件数量]`;
114
118
  6. 所有占位符必须被真实内容替换;
115
119
  > - **修改建议中的代码示例**:
@@ -13,7 +13,13 @@ description: 代码审查技能,审查变更代码并输出 REPORT 和 LINE_IN
13
13
  - `New Path` / `Old Path`: 文件路径(去掉 `a/` 或 `b/` 前缀)
14
14
 
15
15
  3. **解析行号**:从 `Line Info` 中获取 `new_start`,遍历 diff 内容计算每行行号
16
- - 行号计算规则参考 @.claude/rules/code-review-rules.md 第 14 条
16
+ - 行号计算规则:
17
+ - 从 diff 头 `@@ -old_start,old_count +new_start,new_count @@` 中提取 `new_start`
18
+ - 遍历 diff 内容,只计数 `+` 开头(新增)和空格开头(上下文)的行
19
+ - 第 1 行 `+` 或空格:行号 = `new_start`
20
+ - 第 2 行 `+` 或空格:行号 = `new_start + 1`
21
+ - 以此类推,`-` 开头的删除行不计入行号
22
+ - **重要**:行号是变更后文件中的绝对行号,必须准确对应实际代码位置
17
23
 
18
24
  4. **读取上下文**:基于 New Path 读取变更后文件,涉及方法调用时追踪读取实现代码
19
25
 
package/index.js CHANGED
@@ -473,7 +473,7 @@ ${diffObject.diff}`;
473
473
  if (parsedLineInfo) {
474
474
  // 验证解析的行号是否在当前 diff 块范围内
475
475
  const newStart = lineInfo.new_start;
476
- const newEnd = newStart + (lineInfo.new_count || 0);
476
+ const newEnd = newStart + (lineInfo.new_count || 0) - 1;
477
477
  if (parsedLineInfo.new_line >= newStart && parsedLineInfo.new_line <= newEnd) {
478
478
  debugLog(`从 LINE_INFO 中解析出行号成功,使用解析后的行号覆盖 diff 块起始行号`);
479
479
  targetLine = parsedLineInfo;