我的 代码规范

一.原则

1.总思路
复用和解耦


2.具体原则
单一职责(kiss)
开闭原则
可扩展
dry原则
业务层支持扩展变化,领域模型保持稳定
抽离共性,面向接口
依赖倒置(高层只依赖低层接口)
代码可读比技巧优先
通过领域层补充充血模型,减少贫血模型

二.强制性规范


1、单个方法代码不能超过80行
2、controller方法必须有单测,入口方法、逻辑复杂或者核心的service方法以及复杂的sql须有单测,并且覆盖率达到60%以上。
3、输入参数过多,超过3个,封装成dto,
4、相似代码多过10行,必须抽象成方法.
5、if 能使用卫语句的,必须使用短路.
6、swich等分支超过三个,必须抽象成方法,或者策略模式实现。
7、单行布尔语句,三元表达式,条件超过三个,分拆语句判断。
8、如果使用设计模式,命名明确显示设计模式
9、除private方法,方法入参必须判空
10、同一方法调用的dao或者rpc不能重复调用,作为方法的参数参入.
11、不允许定制单个字段的查询sql,不能复用.必须改成<where><if>判断.
12、单行代码非常长,超过120个字符,必须换号,运算符跟着后面的语句换行。
13、应该打成error的日志,不能写成info或者debug.接口或者数据是强依赖的报错,除了打印error日志外,返回前端异常信息,不允许返回前端正常结果,避免后面数据错乱.
14、dao层不允许引用VO对象,必须有业务层转换
15、表必备三个字段主键id,gmt_create,gmt_modified,主键必须是id.
16、sql遵守最左前缀原则
17、复杂业务处理在代码中拆分,避免多表关联
18、多表join时,join的外键必须有索引.join关联的表不允许超过5个
19、子查询不允许超过3层,超过进行拆分,代码处理
20、频繁查询的where条件列必须有索引.
21、变量命名禁用拼音或者拼音和英文混合方式,只能使用英文命名,驼峰标识。
22、除约定俗称的resp等常用命名,不允许使用缩写。
23、布尔类型的变量不允许加is前缀。
24、禁止数字或者字串的魔法值出现在方法中,定义在常量类中.
25、枚举类后面Enum结尾。
26、保留字和运算符后加空格。
27、外部调用接口或者二方调用接口,不允许修改接口声明,过期请使用@Deprecated,并说明新接口位置。
28、包装类对象只能使用equals方法判断是否相等。使用lombok的@data注解请注意类之间的关系,查验是否需要指定字段的equals和hashCode的重写
29、主键索引名为 pk_字段名; 唯一索引名为 uk_字段名; 普通索引名则为 idx_字段名。
30、方法中禁止出现未使用的参数或者局部变量,或者处理后未使用的变量。

三.建议性规范


1.常量类按功能分开维护,比如CacheConstants,ConfigCoantants.
2.各层命名规约:
A) Service/DAO 层方法命名规约
1) 获取单个对象的方法用 get 做前缀。
2) 获取多个对象的方法用 list 做前缀,复数形式结尾如: listObjects。
3) 获取统计值的方法用 count 做前缀。
4) 插入的方法用 save/insert 做前缀。
5) 删除的方法用 remove/delete 做前缀。
6) 修改的方法用 update 做前缀。
B) 领域模型命名规约
1) 数据对象: xxx, xxx 即为数据表名。
2) 数据传输对象: xxxDTO, xxx 为业务领域相关的名称。
3) 展示对象: xxxVo, xxx 一般为网页名称。
3.包拆分和service层拆分为业务manager和领域service层,待定。
4.函数参数多,超过三个用大对象DTO,包括controller里面和前端传递的查询参数,不要用map传参。
5.每个方法只实现一个简单功能,保持简单,方便复用。
6.调用其他领域的业务使用service注入,不注入其他业务表的dao。尽量在servce层方法复用。
7.autowired的全是接口,不注入具体实现类.
8.存储数据封装用holder、wrapper,通用业务处理用helper,工具类用util,常量放在constant,缓存放在xxxCache,xxxReader,配置放在xxxConfig,参数转换用
Converter.convertXXX.策略封装xxxHandler.handle,xxxExecutor.execute.

9.代码设计主要关注领域模型,时序图,复制流程的关键设计。

10.开发前涉及到系统设计文档或者测试评审文档的,提测前必须有提测文档,原则上变更超过三个系统或者开发量在3人日以上的,必须有设计文档或者测试评审文档。提测文档内容简要说明需求背景,提测内容,设计文档地址,详细说明每个核心测试用例的内容,sit环境测试效果截图。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值