Split Temporary Variable - refactor with android sutdio

是怎样?

重构前:

  public void printPerimeterAndArea() {
        double temp = 2 * (mHeight + mWidth);
        System.out.println(temp);
        temp = mHeight * mWidth;
        System.out.println(temp);
    }

重构后:
> ```Java
      public void printPerimeterAndArea() {
            final double perimeter = 2 * (mHeight + mWidth);
            System.out.println(perimeter);
            final double area = mHeight * mWidth;
            System.out.println(area);
        }

如何做?

  • 在 temp 变量之前添加final, 修改 temp 为 perimeter, 在第二次对temp赋值语句之前用 perimeter 手动替换 temp。如:
            final double perimeter = 2 * (mHeight + mWidth);
            System.out.println(perimeter);
            temp = mHeight * mWidth;
            System.out.println(temp);
  • 接着,在下一个赋值语句的地方添加 final double。修改 temp 为 area,在下一次对temp赋值语句之前,用 area 替换所有的 temp 。(如果这是最后一个赋值语句, 比如此处的 final double temp = mHeight * mWidth, 可以同时使用 shift + F6 rename 所有 temp变量名。)
            final double perimeter = 2 * (mHeight + mWidth);
            System.out.println(perimeter);
            final double area = mHeight * mWidth;
            System.out.println(area);
  • 运行测试。

详细阅读参考《重构》(看云)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一章 初识javaJAVA 第一讲:什么是程序?:为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的...
    人子日月几点阅读 551评论 0 1
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 1,963评论 0 2
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,823评论 18 399
  • 今天参加了CCF TF组织的大数据系统与应用讲座,听了关于小米用户画像的介绍,简要做个笔记。 数据来源: 手机、电...
    unbuilt阅读 1,778评论 1 4
  • 中午看了相声界最会演电影的小品演员的一部电影,刚开始看的剧场版,完全看不懂,一度以为自己的理解能力出现了问题。还好...
    原同学阅读 262评论 4 5