《重构:改善既有代码的设计》 重新组织函数的使用方法 之 7

版权声明:请注明转发出处 https://blog.csdn.net/mafucun1988/article/details/89371926

《重构:改善既有代码的设计》中提到过很多重构方法,关于重新组织函数的方法有9种。本文介绍:
移除对参数的赋值 remove assignments to parameters 

  • 名称:移除对参数的赋值 remove assignments to parameters
  • 概要:代码对一个参数(函数参数)进行赋值,以一个临时变量取代该参数的位置。
  • 动机:传值不会有太大影响。如果传入指针,而且不小心修改了指针地址,就会有大麻烦。尽量不要对函数传入参数值只参与计算,不进行赋值。
  • 做法:
    • 建立一个临时变量,把待处理的参数值赋予它
    • 以“对参数的赋值”为界,将其后所有对此参数的应用点,全部替换为“对此临时变量的引用”
    • 修改赋值语句,使其改为对新建之临时变量赋值
    • 编译,测试
    • 如果代码的语义是按引用传递的,请在调用端检查调用后是否还使用了这个参数。也要检查有多少个按引用传递的参数被赋值后又被使用。请尽量只以return方式返回一个值。如果需要返回的值不止一个,看看可否把需返回的大堆数据变成单一对象,或干脆为每个返回值设计对应的一个独立函数。
  • 代码演示:

修改之前的代码:

int Discount(int InputVal, int Quantity, int YearToDate)
{
   if (InputVal > 50)
   {
       InputVal -= 2;
   }
   return InputVal;
}

修改之后的代码:

int Discount(int InputVal, int Quantity, int YearToDate)
{
   int Result = InputVal;
   if (InputVal > 50)
   {
       Result -= 2;
   }
   return Result;
}

猜你喜欢

转载自blog.csdn.net/mafucun1988/article/details/89371926