代码重构实践分享

类设计
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等
相似代码建议,提取并复用

相关推荐

  1. 代码重构实践分享

    2024-07-22 21:04:07       22 阅读
  2. 代码重构

    2024-07-22 21:04:07       35 阅读
  3. 重构——IdGenerator重构分析过程

    2024-07-22 21:04:07       125 阅读
  4. 代码分享

    2024-07-22 21:04:07       43 阅读
  5. -代码分享-

    2024-07-22 21:04:07       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-22 21:04:07       101 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-22 21:04:07       109 阅读
  3. 在Django里面运行非项目文件

    2024-07-22 21:04:07       87 阅读
  4. Python语言-面向对象

    2024-07-22 21:04:07       96 阅读

热门阅读

  1. Python变量

    2024-07-22 21:04:07       20 阅读
  2. Opencv的kmeans每次调用结果都会变化

    2024-07-22 21:04:07       18 阅读
  3. bash XXX.sh文件和直接运行XXX.sh的区别

    2024-07-22 21:04:07       20 阅读
  4. 从组装理论到梯径理论的公式探索

    2024-07-22 21:04:07       21 阅读
  5. 牛客周赛 Round 51题解

    2024-07-22 21:04:07       23 阅读
  6. C++模板编程:泛型编程的强大工具

    2024-07-22 21:04:07       21 阅读
  7. 掌握Gradle任务控制:深入doFirst与doLast的魔法

    2024-07-22 21:04:07       22 阅读
  8. /etc/logrotate.d/syslog与/etc/logrotate.conf优先级

    2024-07-22 21:04:07       23 阅读
  9. Python流程控制

    2024-07-22 21:04:07       26 阅读
  10. lua 写一个函数 判断两个时间戳是否在同一周

    2024-07-22 21:04:07       22 阅读