项目规则优化
This commit is contained in:
+75
-13
@@ -2,16 +2,78 @@
|
|||||||
type: "always_apply"
|
type: "always_apply"
|
||||||
---
|
---
|
||||||
|
|
||||||
1.使用中文问回答所有问题;
|
# 项目开发规则
|
||||||
2.未经允许不可以删除任何文件;
|
|
||||||
3.所有开发都必须遵循当前现有的项目规范;
|
## 基础设置
|
||||||
4.前端所有接口的访问尽可能走网关调用;
|
|
||||||
5.为不同(local,dev,prod)环境创建单独的配置文件,可以在部署时通过参数选择要使用的配置文件;
|
1. 保持对话语言为中文/英文
|
||||||
6.Controller层不允许写业务代码,业务代码写在service层中;
|
2. 系统环境:Mac
|
||||||
7.service层必须是接口Service和实现类ServiceImpl的方式来实现;
|
3. 执行终端命令时要关注执行情况,避免无效等待
|
||||||
8.除了特殊情况下的异常,一般情况下不需要try-catch,由全局异常处理机制处理
|
|
||||||
9.所有Controller层接口定义要完整,入参使用request封装请求,出参是response封装出参,使用项目已有的Result做接口返回
|
## 代码规范
|
||||||
10.所有对项目的变更要遵循当前的项目现有规范
|
|
||||||
11.禁止在新增的Controller层的路由前面添加/api
|
4. 生成代码时必须添加类级和函数级注释
|
||||||
12.与当前用户相关的接口,禁止直接传递用户id,需要后端根据当前登录用户,接口调用的token获取当前登录的用户信息
|
5. 使用import导包,禁止使用全限定名称引用类
|
||||||
13.在优化代码时必须要确保不能破坏已经实现的业务逻辑
|
6. 禁止使用枚举类型作为entity、request、response、dto对象的字段类型
|
||||||
|
7. 新增数据的id使用已存在的雪花算法生成器生成
|
||||||
|
|
||||||
|
## 架构规范
|
||||||
|
|
||||||
|
8. 所有开发必须遵循当前项目规范
|
||||||
|
9. Controller层禁止添加业务逻辑
|
||||||
|
10. 使用全局异常处理,禁止使用try-catch
|
||||||
|
11. 前端接口访问尽可能走网关调用
|
||||||
|
|
||||||
|
## 接口设计规范
|
||||||
|
|
||||||
|
12. Controller层接口定义要完整:
|
||||||
|
- 入参使用request封装传递到service层
|
||||||
|
- service层的方法命名与controller层定义的接口的方法名称保持一致
|
||||||
|
- 出参使用response封装由service层传递到controller层
|
||||||
|
- 禁止在controller层做entity/domain对象与request/response的转换
|
||||||
|
- 使用项目已有的Result做接口返回
|
||||||
|
13. 接口和方法参数不允许超过两个,超过时使用request或DTO对象封装
|
||||||
|
14. Controller层路由禁止添加/api前缀
|
||||||
|
15. Controller层接口的Mapping注解value属性值不允许重复且不允许为空
|
||||||
|
16. 用户相关接口禁止直接传递用户id,需要后端根据token获取当前登录用户信息
|
||||||
|
17. Controller层接口的Mapping注解(PostMapping、GetMapping、PutMapping、DeleteMapping等)的value属性值要简洁明了,与接口作用相关,名称不宜过长,使用驼峰结构命名
|
||||||
|
18. 禁止使用/{param}格式的路径参数,避免网关路由冲突和分发错误
|
||||||
|
19. 所有接口注解必须明确指定value属性,不允许使用空注解
|
||||||
|
20. 路径参数统一使用@RequestParam而非@PathVariable,确保网关分发准确性
|
||||||
|
21. 接口路径命名应具有明确的语义,避免使用通用词汇如/get、/list等
|
||||||
|
22. 批量操作接口应使用专门的Request对象封装参数,而非直接传递List
|
||||||
|
23. 接口路径应避免层级过深,建议不超过3级路径结构
|
||||||
|
24. 更新操作应直接使用封装了ID和其他数据的Request对象,而不是单独传递ID参数。Service层方法应保持参数简洁,业务逻辑所需数据应全部包含在Request对象中
|
||||||
|
|
||||||
|
## 环境配置
|
||||||
|
|
||||||
|
25. 为不同环境(local、dev、prod)创建单独配置文件,部署时通过参数选择
|
||||||
|
26. 启动服务时禁止擅自修改端口号,使用配置文件中的端口设置
|
||||||
|
|
||||||
|
## 数据库规范
|
||||||
|
|
||||||
|
27. 所有数据表必须包含创建时间(create_time)和更新时间(update_time)字段
|
||||||
|
28. 删除操作优先使用逻辑删除,添加deleted字段标识
|
||||||
|
29. 数据库字段命名使用下划线分隔,Java实体类使用驼峰命名
|
||||||
|
30. 优先使用LambdaQueryWrapper构造条件查询,避免硬编码字段名
|
||||||
|
31. 使用Lambda表达式引用实体类属性,提高代码可维护性和类型安全
|
||||||
|
32. 复杂查询条件应使用LambdaQueryWrapper的链式调用,保持代码清晰
|
||||||
|
33. 避免在查询条件中使用字符串字段名,防止字段名变更导致的运行时错误
|
||||||
|
|
||||||
|
## 安全规范
|
||||||
|
|
||||||
|
34. 所有外部输入必须进行参数校验
|
||||||
|
35. 敏感信息不得在日志中输出
|
||||||
|
36. 数据库操作必须使用参数化查询,防止SQL注入
|
||||||
|
|
||||||
|
## 性能规范
|
||||||
|
|
||||||
|
37. 避免N+1查询问题,合理使用批量查询
|
||||||
|
38. 大数据量查询必须分页处理
|
||||||
|
39. 缓存策略要考虑数据一致性问题
|
||||||
|
|
||||||
|
## 日志规范
|
||||||
|
|
||||||
|
40. 关键业务操作必须记录操作日志
|
||||||
|
41. 异常信息要包含足够的上下文信息
|
||||||
|
42. 生产环境禁止输出debug级别日志
|
||||||
|
|||||||
+71
-7
@@ -1,10 +1,74 @@
|
|||||||
---
|
---
|
||||||
alwaysApply: true
|
alwaysApply: true
|
||||||
---
|
---
|
||||||
1.所有问答使用中文;
|
# 项目开发规则
|
||||||
2.所有Controller层接口定义要完整,入参使用request封装,出参使用response封装;
|
|
||||||
3.除了特殊情况,不允许使用try-catch,交由全局异常处理机制处理异常;
|
## 基础设置
|
||||||
4.未经允许不允许删除任何文件;
|
1. 保持对话语言为中文/英文
|
||||||
6.所有的新增代码要遵循当前的项目规范;
|
2. 系统环境:Mac
|
||||||
7.禁止使用批量脚本创建代码文件;
|
3. 执行终端命令时要关注执行情况,避免无效等待
|
||||||
8.需要修改明显有问题的代码时直接自动操作修改代码,不要询问;
|
|
||||||
|
## 代码规范
|
||||||
|
4. 生成代码时必须添加类级和函数级注释
|
||||||
|
5. 使用import导包,禁止使用全限定名称引用类
|
||||||
|
6. 禁止使用枚举类型作为entity、request、response、dto对象的字段类型
|
||||||
|
7. 新增数据的id使用已存在的雪花算法生成器生成
|
||||||
|
|
||||||
|
## 架构规范
|
||||||
|
8. 所有开发必须遵循当前项目规范
|
||||||
|
9. Controller层禁止添加业务逻辑
|
||||||
|
10. 使用全局异常处理,禁止使用try-catch
|
||||||
|
11. 前端接口访问尽可能走网关调用
|
||||||
|
|
||||||
|
## 接口设计规范
|
||||||
|
12. Controller层接口定义要完整:
|
||||||
|
- 入参使用request封装传递到service层
|
||||||
|
- service层的方法命名与controller层定义的接口的方法名称保持一致
|
||||||
|
- 出参使用response封装由service层传递到controller层
|
||||||
|
- 禁止在controller层做entity/domain对象与request/response的转换
|
||||||
|
- 使用项目已有的Result做接口返回
|
||||||
|
13. 接口和方法参数不允许超过两个,超过时使用request或DTO对象封装
|
||||||
|
14. Controller层路由禁止添加/api前缀
|
||||||
|
15. Controller层接口的Mapping注解value属性值不允许重复且不允许为空
|
||||||
|
16. 用户相关接口禁止直接传递用户id,需要后端根据token获取当前登录用户信息
|
||||||
|
17. Controller层接口的Mapping注解(PostMapping、GetMapping、PutMapping、DeleteMapping等)的value属性值要简洁明了,与接口作用相关,名称不宜过长,使用驼峰结构命名
|
||||||
|
18. 禁止使用/{param}格式的路径参数,避免网关路由冲突和分发错误
|
||||||
|
19. 所有接口注解必须明确指定value属性,不允许使用空注解
|
||||||
|
20. 路径参数统一使用@RequestParam而非@PathVariable,确保网关分发准确性
|
||||||
|
21. 接口路径命名应具有明确的语义,避免使用通用词汇如/get、/list等
|
||||||
|
22. 批量操作接口应使用专门的Request对象封装参数,而非直接传递List
|
||||||
|
23. 接口路径应避免层级过深,建议不超过3级路径结构
|
||||||
|
24. 更新操作应直接使用封装了ID和其他数据的Request对象,而不是单独传递ID参数。Service层方法应保持参数简洁,业务逻辑所需数据应全部包含在Request对象中
|
||||||
|
|
||||||
|
## 环境配置
|
||||||
|
|
||||||
|
25. 为不同环境(local、dev、prod)创建单独配置文件,部署时通过参数选择
|
||||||
|
26. 启动服务时禁止擅自修改端口号,使用配置文件中的端口设置
|
||||||
|
|
||||||
|
## 数据库规范
|
||||||
|
|
||||||
|
27. 所有数据表必须包含创建时间(create_time)和更新时间(update_time)字段
|
||||||
|
28. 删除操作优先使用逻辑删除,添加deleted字段标识
|
||||||
|
29. 数据库字段命名使用下划线分隔,Java实体类使用驼峰命名
|
||||||
|
30. 优先使用LambdaQueryWrapper构造条件查询,避免硬编码字段名
|
||||||
|
31. 使用Lambda表达式引用实体类属性,提高代码可维护性和类型安全
|
||||||
|
32. 复杂查询条件应使用LambdaQueryWrapper的链式调用,保持代码清晰
|
||||||
|
33. 避免在查询条件中使用字符串字段名,防止字段名变更导致的运行时错误
|
||||||
|
|
||||||
|
## 安全规范
|
||||||
|
|
||||||
|
34. 所有外部输入必须进行参数校验
|
||||||
|
35. 敏感信息不得在日志中输出
|
||||||
|
36. 数据库操作必须使用参数化查询,防止SQL注入
|
||||||
|
|
||||||
|
## 性能规范
|
||||||
|
|
||||||
|
37. 避免N+1查询问题,合理使用批量查询
|
||||||
|
38. 大数据量查询必须分页处理
|
||||||
|
39. 缓存策略要考虑数据一致性问题
|
||||||
|
|
||||||
|
## 日志规范
|
||||||
|
|
||||||
|
40. 关键业务操作必须记录操作日志
|
||||||
|
41. 异常信息要包含足够的上下文信息
|
||||||
|
42. 生产环境禁止输出debug级别日志
|
||||||
|
|||||||
@@ -0,0 +1,75 @@
|
|||||||
|
---
|
||||||
|
trigger: always_on
|
||||||
|
alwaysApply: true
|
||||||
|
---
|
||||||
|
# 项目开发规则
|
||||||
|
|
||||||
|
## 基础设置
|
||||||
|
1. 保持对话语言为中文/英文
|
||||||
|
2. 系统环境:Mac
|
||||||
|
3. 执行终端命令时要关注执行情况,避免无效等待
|
||||||
|
|
||||||
|
## 代码规范
|
||||||
|
4. 生成代码时必须添加类级和函数级注释
|
||||||
|
5. 使用import导包,禁止使用全限定名称引用类
|
||||||
|
6. 禁止使用枚举类型作为entity、request、response、dto对象的字段类型
|
||||||
|
7. 新增数据的id使用已存在的雪花算法生成器生成
|
||||||
|
|
||||||
|
## 架构规范
|
||||||
|
8. 所有开发必须遵循当前项目规范
|
||||||
|
9. Controller层禁止添加业务逻辑
|
||||||
|
10. 使用全局异常处理,禁止使用try-catch
|
||||||
|
11. 前端接口访问尽可能走网关调用
|
||||||
|
|
||||||
|
## 接口设计规范
|
||||||
|
12. Controller层接口定义要完整:
|
||||||
|
- 入参使用request封装传递到service层
|
||||||
|
- service层的方法命名与controller层定义的接口的方法名称保持一致
|
||||||
|
- 出参使用response封装由service层传递到controller层
|
||||||
|
- 禁止在controller层做entity/domain对象与request/response的转换
|
||||||
|
- 使用项目已有的Result做接口返回
|
||||||
|
13. 接口和方法参数不允许超过两个,超过时使用request或DTO对象封装
|
||||||
|
14. Controller层路由禁止添加/api前缀
|
||||||
|
15. Controller层接口的Mapping注解value属性值不允许重复且不允许为空
|
||||||
|
16. 用户相关接口禁止直接传递用户id,需要后端根据token获取当前登录用户信息
|
||||||
|
17. Controller层接口的Mapping注解(PostMapping、GetMapping、PutMapping、DeleteMapping等)的value属性值要简洁明了,与接口作用相关,名称不宜过长,使用驼峰结构命名
|
||||||
|
18. 禁止使用/{param}格式的路径参数,避免网关路由冲突和分发错误
|
||||||
|
19. 所有接口注解必须明确指定value属性,不允许使用空注解
|
||||||
|
20. 路径参数统一使用@RequestParam而非@PathVariable,确保网关分发准确性
|
||||||
|
21. 接口路径命名应具有明确的语义,避免使用通用词汇如/get、/list等
|
||||||
|
22. 批量操作接口应使用专门的Request对象封装参数,而非直接传递List
|
||||||
|
23. 接口路径应避免层级过深,建议不超过3级路径结构
|
||||||
|
24. 更新操作应直接使用封装了ID和其他数据的Request对象,而不是单独传递ID参数。Service层方法应保持参数简洁,业务逻辑所需数据应全部包含在Request对象中
|
||||||
|
|
||||||
|
## 环境配置
|
||||||
|
|
||||||
|
25. 为不同环境(local、dev、prod)创建单独配置文件,部署时通过参数选择
|
||||||
|
26. 启动服务时禁止擅自修改端口号,使用配置文件中的端口设置
|
||||||
|
|
||||||
|
## 数据库规范
|
||||||
|
|
||||||
|
27. 所有数据表必须包含创建时间(create_time)和更新时间(update_time)字段
|
||||||
|
28. 删除操作优先使用逻辑删除,添加deleted字段标识
|
||||||
|
29. 数据库字段命名使用下划线分隔,Java实体类使用驼峰命名
|
||||||
|
30. 优先使用LambdaQueryWrapper构造条件查询,避免硬编码字段名
|
||||||
|
31. 使用Lambda表达式引用实体类属性,提高代码可维护性和类型安全
|
||||||
|
32. 复杂查询条件应使用LambdaQueryWrapper的链式调用,保持代码清晰
|
||||||
|
33. 避免在查询条件中使用字符串字段名,防止字段名变更导致的运行时错误
|
||||||
|
|
||||||
|
## 安全规范
|
||||||
|
|
||||||
|
34. 所有外部输入必须进行参数校验
|
||||||
|
35. 敏感信息不得在日志中输出
|
||||||
|
36. 数据库操作必须使用参数化查询,防止SQL注入
|
||||||
|
|
||||||
|
## 性能规范
|
||||||
|
|
||||||
|
37. 避免N+1查询问题,合理使用批量查询
|
||||||
|
38. 大数据量查询必须分页处理
|
||||||
|
39. 缓存策略要考虑数据一致性问题
|
||||||
|
|
||||||
|
## 日志规范
|
||||||
|
|
||||||
|
40. 关键业务操作必须记录操作日志
|
||||||
|
41. 异常信息要包含足够的上下文信息
|
||||||
|
42. 生产环境禁止输出debug级别日志
|
||||||
Reference in New Issue
Block a user