job51-gitlab-cr-node-jt-1 2.5.3 → 2.5.4

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.
@@ -184,37 +184,41 @@
184
184
  > - **行号定义**:行号是变更后文件中的**绝对行号**(从 1 开始计数)
185
185
  > - **⚠️ 关键规则:基于 diff 块内容逐行计数**(强制执行):
186
186
  > - **禁止**读取完整文件后计算绝对行号
187
- > - **必须**基于 diff 块内容,从第一行开始逐行计数
187
+ > - **必须**基于 diff 块内容,从 `@@ ... @@` 头之后的第一行开始逐行计数
188
+ > - **⚠️ 重要:忽略所有元数据行**(如 `=== File Information ===`、`=== Diff Content ===`、`New Path:` 等)
188
189
  > - 计数规则:
189
- > - diff 块的 `@@ ... @@` 头之后的第一行开始计数
190
+ > - **从 `@@ ... @@` 行之后的第一行开始计数**(不是从文件第一行,不是从元数据开始)
190
191
  > - `+` 开头的新增代码:计入行号
191
192
  > - 空格开头的上下文代码:计入行号
192
193
  > - `-` 开头的删除代码:**不计入**行号(已删除)
193
- > - **问题行号 = 该行在 diff 块中的位置**
194
- > - **示例**:
195
- > - 新增文件 `@@ -0,0 +1,75 @@`:
194
+ > - **行号 = `@@` 头之后到该行的累计行数**
195
+ > - **问题行号 = 该行在 diff 块中的位置(从 @@ 头之后开始算第 1 行)**
196
+ > - **⚠️ 行号计算示例**(必读):
197
+ > - 示例 1:新增文件 `@@ -0,0 +1,58 @@`(58 行新文件)
196
198
  ```
197
- @@ -0,0 +1,75 @@
198
- +package com.example; // 行号 = 1
199
- +
200
- +import java.util.List; // 行号 = 3
201
- +
202
- +public class Test { // 行号 = 5
203
- + public void method() { // 行号 = 6
204
- + Object obj = service.getData(); // 行号 = 7
205
- + obj.toString(); // 行号 = 8问题在这行,new_line = 8
206
- + }
207
- +}
199
+ @@ -0,0 +1,58 @@
200
+ +package com.job51.dev.bbs.service.impl; // 行号 = 1
201
+ + // 行号 = 2
202
+ +import com.job51.dev.bbs.mapper.ForumMapper; // 行号 = 3
203
+ ...
204
+ +public class TestMultiIssuesService { // 行号 = 17
205
+ + public Map<String, Object> getTestData(String forumId, String userId) { // 行号 = 27
206
+ + Object forum = forumMapper.selectById(forumId); // 行号 = 28
207
+ + String forumName = forum.toString(); // 行号 = 30问题在这,new_line = 30
208
+ + Object firstPost = posts.get(0); // 行号 = 38 ← 问题在这,new_line = 38
208
209
  ```
209
- > - 已有文件 `@@ -42,3 +43,5 @@`:
210
+ > - 示例 2:已有文件修改 `@@ -42,3 +43,5 @@`
210
211
  ```
211
212
  @@ -42,3 +43,5 @@
212
213
  public void method() { // 行号 = 43(上下文行,保留)
213
214
  + Object obj = service.getData(); // 行号 = 44
214
- + obj.toString(); // 行号 = 45 ← 问题在这行,new_line = 45
215
+ + obj.toString(); // 行号 = 45 ← 问题在这,new_line = 45
215
216
  }
216
217
  ```
217
- > - **关键**:问题行号必须准确指向变更后代码在 diff 块中的位置
218
+ > - **⚠️ 验证方法**:输出前检查行号是否合理
219
+ > - 对于 `@@ -0,0 +1,N @@` 的新文件,最大行号应该是 N
220
+ > - 如果报告的行号超过 diff 块的 `new_count`,说明计算错误
221
+ > - **关键**:问题行号必须准确指向变更后代码在 diff 块中的位置(从 `@@` 头之后计数)
218
222
 
219
223
  14. `<REPORT>` 标签示例中的问题块数量仅用于展示格式,实际数量由 review 结果决定;
220
224
 
@@ -16,8 +16,13 @@ description: 代码审查技能,审查变更代码并输出 REPORT 和 LINE_IN
16
16
  3. **解析行号**:**基于 diff 块内容逐行计数**
17
17
  - **⚠️ 重要**:行号计算规则详见 @.claude/rules/code-review-rules.md 第 13 条
18
18
  - **禁止**读取完整文件后计算绝对行号
19
- - **必须**基于 diff 块内容,从第一行开始逐行计数
19
+ - **必须**基于 diff 块内容,从 `@@ ... @@` 头之后开始逐行计数
20
+ - **忽略元数据行**:忽略 `=== File Information ===`、`=== Diff Content ===`、`New Path:` 等所有元数据行
21
+ - **计数起点**:从 `@@ -0,0 +1,N @@` 或 `@@ -old,count +new,count @@` 之后的第一行开始计数(该行 = 行号 1)
20
22
  - 行号定义:行号是变更后文件中的绝对行号(从 1 开始计数)
23
+ - **验证方法**:输出前检查行号是否合理
24
+ - 对于 `@@ -0,0 +1,N @@` 的新文件,最大行号应该是 N
25
+ - 如果报告的行号超过 diff 块的 `new_count`,说明计算错误
21
26
  - 例如:如果新增代码在 diff 块的第 43 行,则 `new_line = 43`
22
27
 
23
28
  4. **读取上下文**:基于 New Path 读取变更后文件,涉及方法调用时追踪读取实现代码