zoukankan      html  css  js  c++  java
  • VS Extract Method

    前言

          看重构6.4Replace Temp with Query(以查询取代临时变量)中提到Replace Temp with Query往往是你运用Extract Method之前必不可少的一个步骤,局部变量会使代码难以被提炼, 其中Extract Method是VS自带的功能,我从VS2003用到VS2015还从没有用过这个功能,想想作为一个Neter也应该反思啊。

       

          重构中指出当看到一个过长过大的函数需要很多注释才能让人理解就会把这段代码放入一个独立的函数中,那么Extract Method则是最常用的重构手法之一,每个函数的粒度越细,则函数被复用的机会就更大,其次函数被覆写也会更容易些。

    Extract Method

           1、VS中自带Extract Method功能,Resharper插件也包含该功能,如下示例代码中CalculatePaintNeeded 方法中第一行代码则可以用Extracct Method来提取到一个单独的方法中。 

    public class ActivityProvider
    {
           const double PI = 3.14;
    
           private double CalculatePaintNeeded(double unit, double radius)
            {
                double area = PI*radius*radius;
                return area;
            }
    }
    

      

         2、选中你想提取的代码,右键Refactor--Extract--Extract Method 也可以选择菜单栏Resharper中提供功能即可。提取后的代码如下CircleArea。

    public class ActivityProvider
        {
            const double PI = 3.14;
    
            private double CalculatePaintNeeded(double unit, double radius)
            {
                var area = CircleArea(radius);
                return area;
            }
    
            private static double CircleArea(double radius)
            {
                double area = PI*radius*radius;
                return area;
            }
        }
    

      

  • 相关阅读:
    redis中插入用户集合的语句,有四个属性
    springmvc的执行流程
    面试问题总结
    程序员
    RESTFUL
    京东京麦商家开放平台的消息推送架构演进之路
    stark组件开发之自动生成URL
    stark组件前戏之项目启动前加载指定文件
    权限分配实现思路
    批量操作权限的页面展示
  • 原文地址:https://www.cnblogs.com/sword-successful/p/5096954.html
Copyright © 2011-2022 走看看