@specpow/framework 0.8.2 → 0.8.3
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.
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Java 代码注释规范
|
|
2
|
+
|
|
3
|
+
> 本文件定义 MES 项目 Java 代码的注释规范,在代码生成阶段由 AI 读取并遵循。
|
|
4
|
+
|
|
5
|
+
## 类级别注释
|
|
6
|
+
|
|
7
|
+
- 所有类(Entity、Controller、Service、ServiceImpl、Mapper、测试类等)必须使用 JavaDoc 格式注释
|
|
8
|
+
- 必须包含:功能描述、@author、@date
|
|
9
|
+
- 格式:
|
|
10
|
+
```java
|
|
11
|
+
/**
|
|
12
|
+
* 物料主数据实体类
|
|
13
|
+
*
|
|
14
|
+
* @author AI-Generated
|
|
15
|
+
* @date 2025-01-01
|
|
16
|
+
*/
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## 方法级别注释
|
|
20
|
+
|
|
21
|
+
- 公共方法(public)必须使用 JavaDoc 格式,包含功能描述、@param、@return、@throws(如有)
|
|
22
|
+
- 私有方法(private)使用行内 `//` 注释说明意图
|
|
23
|
+
- 接口方法必须写 JavaDoc(作为契约文档)
|
|
24
|
+
- 重写方法(@Override)如果父类已有 JavaDoc,可用 `//` 补充差异说明
|
|
25
|
+
- 格式:
|
|
26
|
+
```java
|
|
27
|
+
/**
|
|
28
|
+
* 分页查询物料列表
|
|
29
|
+
*
|
|
30
|
+
* @param page 分页参数
|
|
31
|
+
* @param entity 查询条件
|
|
32
|
+
* @return 分页结果
|
|
33
|
+
*/
|
|
34
|
+
IPage<MmMaterial> pageSearch(Page<MmMaterial> page, @Param("entity") MmMaterial entity);
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## 字段级别注释
|
|
38
|
+
|
|
39
|
+
- Entity 业务字段使用 `//` 行内注释标注业务含义(与 @ExcelProperty 配合)
|
|
40
|
+
- 常量(static final)使用 JavaDoc 格式
|
|
41
|
+
- 集合字段注释说明子表含义
|
|
42
|
+
- 字段注释必须写在字段上方独立一行,禁止写在行尾
|
|
43
|
+
- 格式:
|
|
44
|
+
```java
|
|
45
|
+
// 物料编码,唯一标识
|
|
46
|
+
@ExcelProperty("物料编码")
|
|
47
|
+
private String materialCode;
|
|
48
|
+
|
|
49
|
+
/** 批次大小,默认 500 */
|
|
50
|
+
public static final int DEFAULT_BATCH_SIZE = 500;
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## 行内注释
|
|
54
|
+
|
|
55
|
+
- 复杂业务逻辑必须添加行内注释说明意图
|
|
56
|
+
- Service 层校验逻辑必须注释说明校验规则
|
|
57
|
+
- 行内注释必须写在代码上方独立一行,禁止写在行尾
|
|
58
|
+
- 禁止无意义注释(如 `// 设置名称` 紧跟 `entity.setName()`)
|
|
59
|
+
- 格式:
|
|
60
|
+
```java
|
|
61
|
+
// 校验物料编码唯一性(按组织维度)
|
|
62
|
+
LambdaQueryWrapper<MmMaterial> wrapper = new LambdaQueryWrapper<>();
|
|
63
|
+
wrapper.eq(MmMaterial::getMaterialCode, code);
|
|
64
|
+
|
|
65
|
+
// 批量查询后内存处理,避免 N+1
|
|
66
|
+
List<MmMaterial> existing = this.list(wrapper);
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## 特殊场景
|
|
70
|
+
|
|
71
|
+
- Controller 方法:简要 JavaDoc 说明接口用途,参数说明可省略(框架自动解析)
|
|
72
|
+
- Service 事务方法:JavaDoc 说明业务逻辑和异常场景
|
|
73
|
+
- 测试方法:JavaDoc 或 @DisplayName 说明测试场景,无需 @param/@return
|
|
74
|
+
- Mapper XML:`<!-- 注释 -->` 说明 SQL 片段用途
|
|
75
|
+
- 枚举类:每个枚举值使用 `//` 注释说明含义
|
|
@@ -195,6 +195,8 @@ artifacts:
|
|
|
195
195
|
instruction: |
|
|
196
196
|
基于解析报告和确认结果,生成完整的技术设计文档。
|
|
197
197
|
|
|
198
|
+
生成代码模板前请先读取本 schema 目录下的 comment-rules.md,遵循其中的 Java 注释规范(类/方法/字段/行内注释格式)。
|
|
199
|
+
|
|
198
200
|
## 文档结构
|
|
199
201
|
|
|
200
202
|
### 1. 数据库设计
|
|
@@ -329,6 +331,8 @@ artifacts:
|
|
|
329
331
|
instruction: |
|
|
330
332
|
基于技术设计文档,拆分为可执行的实施任务列表。
|
|
331
333
|
|
|
334
|
+
生成代码前请先读取本 schema 目录下的 comment-rules.md,遵循其中的 Java 注释规范(类/方法/字段/行内注释格式)。
|
|
335
|
+
|
|
332
336
|
## 任务拆分原则
|
|
333
337
|
1. 每个任务足够小(2-5 分钟完成)
|
|
334
338
|
2. 包含精确的文件路径(匹配 MES 项目包结构)
|
|
@@ -393,6 +397,7 @@ artifacts:
|
|
|
393
397
|
基于 tasks.md 中的 ServiceImpl 代码,生成对应的单元测试。
|
|
394
398
|
|
|
395
399
|
生成前请先读取本 schema 目录下的 references.md,了解可用的公共工具类和方法,测试中 Mock 的依赖方法签名需与 references.md 一致。
|
|
400
|
+
生成代码前请先读取本 schema 目录下的 comment-rules.md,遵循其中的 Java 注释规范(类/方法/字段/行内注释格式)。
|
|
396
401
|
|
|
397
402
|
## 测试规范
|
|
398
403
|
- 测试类名 = 原类名 + MockTest(如 PcCadDataServiceImpl → PcCadDataServiceImplMockTest)
|
|
@@ -429,6 +434,7 @@ artifacts:
|
|
|
429
434
|
按任务清单逐个生成代码文件。
|
|
430
435
|
|
|
431
436
|
生成前请先读取本 schema 目录下的 references.md,了解可用的公共工具类和方法,优先复用已有方法,避免重复实现。
|
|
437
|
+
生成代码前请先读取本 schema 目录下的 comment-rules.md,遵循其中的 Java 注释规范(类/方法/字段/行内注释格式)。
|
|
432
438
|
|
|
433
439
|
## 执行方式
|
|
434
440
|
1. 按任务依赖顺序执行
|