Files
contract-manager/.trae/rules/project_rules.md
2025-09-24 00:11:21 +08:00

1.8 KiB
Raw Blame History

Contract-Manager 项目规则

技术栈规范

server 模块

  • Java 21
  • Spring Boot 3.3.7
  • Spring Data JPA 3.3.7
  • MySQL 8.0.33
  • Lombok 1.18.32
  • POI 5.2.5
  • PDFBox 3.0.1
  • Redis

client 模块

  • Java 21
  • JavaFX 21
  • ControlsFX 11.1.2
  • Lombok 1.18.32
  • caffeine 3.1.8
  • .fxml 界面UI, 放置于 /client/src/main/resources/ui/ 目录下
  • websocket 与 server 模块通信

common 模块

  • Java 21
  • Lombok 1.18.32

文件命名规范

  • Java类名使用驼峰命名法首字母大写ContractService.java
  • 接口名使用驼峰命名法首字母大写以I开头IContractService.java
  • 控制器类名以Controller结尾ContractController.java
  • 服务类名以Service结尾ContractService.java
  • 实体类名:使用驼峰命名法,首字母大写,如 Contract.java
  • FXML文件使用小写字母和下划线contract_view.fxml
  • SQL文件表名使用大写和下划线CONTRACT_TYPE_LOCAL.sql

目录结构规范

  • 源代码位于 src/main/java 目录
  • 资源文件位于 src/main/resources 目录
  • 测试代码位于 src/test 目录
  • 数据库脚本位于 docs/db 目录

数据库规范

  • 表名使用大写字母和下划线,如 COMPANY_VENDOR_FILE_TYPE_LOCAL
  • 字段名使用大写字母和下划线,如 CREATE_DATE
  • 主键命名为 ID
  • 外键命名格式为 [关联表名]_ID
  • 唯一约束命名格式为 UK_[表名缩写]_[字段名]

代码规范

  • 使用Lombok注解简化代码@Data@Slf4j
  • 类和方法应有适当的JavaDoc注释
  • 变量命名应清晰表达其含义
  • 避免魔法数字,使用常量替代
  • 异常处理使用统一的异常处理机制

忽略文件

ignore:

  • .idea
  • target
  • *.iml
  • .gitignore
  • .gitattributes
  • out/
  • *.log
  • build/
  • .DS_Store
  • *.class