1、重构是什么?

重构是重写或重新构建已有代码的结构化和规律性方法,但不会改变已有代码的外在行为,而是采用一系列少量转换的步骤,并且每一步都结合了重新执行的测试。
重构并不是全部推翻原有代码结构。

2、目标?

清晰、简洁

3、方法?

那idea举例,

public class Sale {
String str = "hello";
public void make() {
int a = 1;
System.out.println(str);
System.out.println(a);
System.out.println(str+a);
}
}

1)、重构函数

A、将3行System.out.println提炼到一个单独的方法

先选择这3行,然后按ctrl+alt+M

B、将重复代码提炼到一个单独的方法

同A

效果:

public class Sale {
String str = "hello";
public void make() {
int a = 1;
sysout(a);
} private void sysout(int a) {
System.out.println(str);
System.out.println(a);
System.out.println(str+a);
}
}

2)、重构变量

A、将局部变量更改为全局变量

选中变量,然后按ctrl+alt+c
public static final int A = 1;

    public void make() {
sysout(A);
}

B、将局部连梁改为成员变量

选中,ctrl+alt+F
private int a;

    public void make() {
a = 1;
sysout(a);
}

最新文章

  1. Spring的通知(Advice)
  2. iOS模糊效果(毛玻璃效果)的实现
  3. android 加载网络图片
  4. 部门招聘开发人员(python相关)
  5. python脚本工具-1 制作爬虫下载网页图片
  6. Oracle 11g ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务
  7. css3 drop-shaow阴影效果
  8. Android broadcast
  9. UVa 884 - Factorial Factors
  10. C语言之进制
  11. 线性布局(LinearLayout)
  12. windbg分析Kernel32.dll导出表
  13. Could not find property 'outputFile
  14. Asp.Net Core 轻松学-多线程之取消令牌
  15. 2019-4-25 html学习笔记
  16. MVC 多submit
  17. 利用ansible-playbook从测试环境获取tomcat中java项目新版本发布到生产环境
  18. Ubuntu 下常用命令
  19. Android毛玻璃模糊化效果处理
  20. Getting Physical With Memory.CPU如何操作内存

热门文章

  1. redisTemplate注入为空
  2. 5. 支撑高并发,高可用,海量数据备份恢复的Redis重要性
  3. 球队“食物链”(DFS+剪枝)
  4. java基础源码 (2)--StringBuilder类
  5. Linux课后练习(第二章命令)20200218
  6. mybaits的注解方式与配置文件方式比较
  7. 关于RxJS 处理多个Http请求 串行与并行方法
  8. css div框加小箭头
  9. 考研c语言基础 66++6
  10. [Mathematics][MIT 18.03] Detailed Explanation of the Frequency Problems in Second-Order Differential Equation of Oscillation System