新版本Profiler Android Studio Koala 褐色图标: 设备性能实时展示 红色图标: 设备整体性能抓取 橙色图标: CPU...
处理概括关系 11.1 Pull Up Field (字段上移) 两个子类拥有相同的字段,将字段移至超类 11.2 Pull Up Method...
重新组织数据 8.1 Self Encapsulate Field (自封装字段) 为字段建立取值/设值函数,并且只以这些函数来访问字段 间接访...
在对象之间迁移数据 7.1 Move Method (搬移函数) 如果一个类有太多行为,或如果一个类与另一个类有太多合作而形成高度耦合,就需要搬...
第三章 代码的坏味道 重复代码 过长函数 过大的类 过长参数列 发散式变化(某个类经常因为不同的原因在不同的方向上发生变化) 霰弹式修改 (每遇...
第一章 重构的基础: 我们需要为即将修改的代码建立一套可靠的测试环境,为了使重构的结果能够得到保证,我们需要可靠的测试方式 分解并重组: 分解和...
首先,写一个demo: 运行后,一定会报如下的错误: 这个错误是怎么来的呢,所谓的token null is not valid中的token又...
1. 前言 在上篇关于lambda表达式实现方式的文章中,有提到一个概念叫做MethodHandle,当时的解释是类似于C/C++的函数指针,但...
当我们提起java lambda表达式的实现时,第一反应一定是:这就是java的语法糖啊,它实现肯定还是匿名内部类啊! 但是,事实真的是这样么?...