zoukankan      html  css  js  c++  java
  • 重构28-Rename boolean method(重命名布尔方法)

    你也可以说这并不是一个真正的重构,因为方法实际上改变了,但这是一个灰色地带,可以开放讨论。一个拥有大量布尔类型参数的方法将很快变得无法控制,产生难以预期的行为。参数的数量将决定分解的方法的数量。来看看该重构是如何开始的:
    public class BankAccount {
    public void CreateAccount(Customer customer, boolean withChecking, boolean withSavings, boolean withStocks) {
    // do work
    }
    }
    要想使这样的代码运行得更好,我们可以通过命名良好的方法暴露布尔参数,并将原始方法更改为private
    以阻止外部调用。显然,你可能需要进行大量的代码转移,也许重构为一个Parameter Object会更有意义。
    public class BankAccount {
    public void CreateAccountWithChecking(Customer customer) {
    CreateAccount(customer, true, false);

    }
    public void CreateAccountWithCheckingAndSavings(Customer customer) {
    CreateAccount(customer, true, true);
    }
    private void CreateAccount(Customer customer, Boolean withChecking, Boolean withSavings) {
    // do work
    }
    }




  • 相关阅读:
    C++宏定义详解
    编写Qt Designer自定义控件 MyPlugins
    关于MFC共享DLL的模块状态切换 .
    QT 与 MFC 的区别 .
    typedef
    C++ floor函数
    C++ floor函数 截断浮点数小数部分 转
    MFC的多国语言界面的实现 转
    新工作 Day16 周五
    新工作 Day15 周四
  • 原文地址:https://www.cnblogs.com/jgig11/p/5786498.html
Copyright © 2011-2022 走看看