1.8 KiB
1.8 KiB
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