类设计
1.在设计class时,要为class及其成员设置最小的可访问性
2.package内类个数建议控制在15个以内
3.class声明时,要尽量避免package之间的循环依赖
4.基于接口设计编码,向稳定方向依赖,尽量减少依赖,业务间通过service接口依赖,避免注入其他业务的mapper和实现类,service注入依赖建议不超过五个
5.类复用方式建议使用类组合代替类继承
6.类行数建议控制在500行以内,接口方法控制在20个以内
7.构造方法如果有多个,尽量重用,涉及序列化(json等)需要保留无参构造器
8.部分涉及数据模型类字段转方法,可封装到数据模型中
9.覆盖equals方法时,要同时覆写hashcode方法
10.公共类要有通用性,避免耦合业务内容
方法设计
方法设计的精髓:方法是可组合,可重用的代码的最小单位,编写高内聚低耦合的整洁方法,同时把代码有效地组织起来,代码简单直接,不隐藏设计者意图,用干净利落的抽象和直接了当的控制语句将方法有序组织起来
方法要剪短,复杂过长的方法意味着方法抽象层次或者功能不够单一,建议要进行合理抽象分层,要从代码行数,参数个数,嵌套层数,异常种类数的维度间接约束方法的尺寸和复杂度,同时不要修改入参。
避免使用JSON作为入参,可读性差,复用不方便
局部变量,使用时再声明
方法结果通过返回值传递,避免通过入参传递
避免嵌套,多使用卫语句
建议使用try-with-resource方式关闭资源
避免使用多层if-else判断
对字符串,数组,集合的操作尽量多使用工具类例如stream流,stringutils,collections,arrayutils,map等
相似代码建议,提取并复用