COLA学习之代码规范(二)
🕗 发布于 2024-12-12 14:17 cola
小伙伴们,你们好,我是老寇,上一节,我们学习了DDD相关术语,继续跟老寇学习COLA代码规范
代码规范
包命名
层次 | 包名 | 功能 | 必选 |
---|
Adapter层 | web | 处理页面请求Controller | 否 |
Adapter层 | wireless | 处理无线端适配 | 否 |
Adapter层 | wap | 处理wap端的适配 | 否 |
| | | |
App层 | executor | 处理request,包括command和query | 是 |
App层 | consumer | 处理外部message | 否 |
App层 | scheduler | 处理定时任务 | 否 |
| | | |
Domain层 | model | 领域模型 | 否 |
Domain层 | ability | 领域能力,包括DomainService | 否 |
Domain层 | gateway | 领域网关,解耦利器 | 是 |
| | | |
Infrastructure层 | gatewayimpl | 网关实现 | 是 |
Infrastructure层 | mapper | ibatis数据库映射 | 否 |
Infrastructure层 | config | 配置信息 | 否 |
| | | |
Client SDK | api | 服务对外透出的API | 是 |
Client SDK | dto | 服务对外的DTO | 是 |
类命名
规范 | 用途 | 解释 |
---|
xxxCmd | Client Request | Cmd代表Command,表示新增/修改/删除相关的请求 |
xxxQry | Client Request | Qry代表Query,表示查询相关的请求 |
xxxCO | Client Object | 用于传递数据,等同于DTO |
xxxServiceI | Api Service | Api接口 |
xxxCmdExe | Command Executor | 命令模式,一个新增/修改/删除相关的请求对应一个执行器 |
xxxQryExe | Query Executor | 命令模式,一个查询相关的请求对应一个执行器 |
xxxInterceptor | Command Interceptor | 拦截器,用于处理切面逻辑 |
xxxExtPt | Extension Point | 扩展点 |
xxxExt | Extension | 扩展实现 |
xxxValidator | Validator | 校验器,用于校验的类 |
xxxConvertor | Convertor | 转换器,实现不同层级对象互转 |
xxxAssembler | Assembler | 组装器,组装外部服务调用参数 |
xxxA | AggregateRoot | 聚合根,聚合实体和值对象 |
xxxE | Entity | 领域实体 |
xxxV | Value Object | 值对象 |
xxxMapper | Mapper | 数据库映射 |
xxxDomainService | Domain Service | 领域服务 |
xxxDO | Data Object | 数据对象,持久化 |
xxxGateway | Gateway | 领域网关,防腐层 |
xxxConstant | Constant | 常量 |
xxxConfig | Configuration | 配置 |
xxxUtil | Utility | 工具 |
xxxEvent | Event | 事件 |
xxxEventHandler | Event Handler | 处理事件 |
xxxDomainFactory | Domain Factory | 领域工厂 |
xxxController | Controller | 处理页面请求 |
方法命名
方法命名(adapter层 + app层)
操作 | 方法名约定 | 举例 |
---|
新增 | save | saveUser |
删除 | remove | removeUser |
修改 | modify | modifyUser |
查看 | get | getById |
列表 | list | listUser |
分页 | page | pageUser |
统计 | count | countUser |
方法命名(domain层)
尽量避免CRUD形式的命名,要体现业务语义
方法命名(infrastructure层)
操作 | 方法名约定 | 举例 |
---|
新增 | create | createUser |
删除 | delete | deleteUser |
修改 | update | updateUser |
查看 | get | getById |
列表 | list | listUser |
分页 | page | pageUser |
统计 | count | countUser |
方法命名(Mapper)
操作 | 方法名约定 | 举例 |
---|
新增 | insert | insertUser |
删除 | delete | deleteUser |
修改 | update | updateUser |
查看 | select | selectById |
列表 | list | selectList |
分页 | page | selectPage |
统计 | count | selectCount |
错误码命名(显性)
类型 | 错误码约定 | 举例 |
---|
参数异常 | P_XX_XX | P_OAuth2_UsernameIsNull:账号不能为空 |
系统异常 | S_XX_XX | S_DS_TableNotExist:表不存在 |
业务异常 | B_XX_XX | B_User_UsernameAlreadyExist:用户名已存在 |
我是老寇,我们下次再见
原文地址:https://blog.csdn.net/qq_39893313/article/details/144409970
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!