@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. 按任务依赖顺序执行
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@specpow/framework",
3
- "version": "0.8.2",
3
+ "version": "0.8.3",
4
4
  "description": "Spec-Powered AI Development Framework - 融合 OpenSpec 规范驱动 + Superpowers 执行引擎的企业级 AI 辅助编程框架",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",