示例
- 长代码
private void test(){
List<Object> list = new ArrayList<>();
// ....省略很多行,这里是获取和组装一个List
Object config = new Object();
// ...省略多行,这里是获取和组装配置信息
// ...省略多行,这里是根据配置和获取的list执行计算逻辑
}
- 方法抽取短代码
private void test(){
// 获取list
List<Object> list = queryList();
// 获取配置
Object config = getConfig();
// 计算和包装list 并且返回最终结果
Object result = exec(list,config);
}
方法抽取后的好处,短代码好处
1. 代码可读性更高,便于维护
如上所示,一眼就能看到方法的步骤,方法是干什么的,不需要去拖动滚动条看很长的代码看注释,分析逻辑
后续的维护也会很方便,只用到具体的方法里头加逻辑或者修改逻辑即可
2. 方法复用度高
如上所示,方法被抽取出来了,后续有用到的,可以复用方法,减少重复代码
3. 代码运行效率高
便于垃圾回收器回收不需要用到的对象,如上如果所有的步骤都在一个方法的话,那么在方法执行完成之前这个方法里头的对象都是不能回收的,但是如果封装了多个方法,封装的方法执行完成之后,对象是可以被回收的,这样会减少内存分配的压力,如果方法并发量高,最好还是抽取一下,不然产生对象多会频繁GC,效率会低