简述
Remove Assignments to Parameters(移除对参数的赋值)指代码对一个参数赋值,以一个临时变量取代该参数的位置
int discount (int inputVal, int quantity, int yearToDate) {
if (inputVal > 50) inputVal -= 2;
改为
int discount (int inputVal, int quantity, int yearToDate) {
int result = inputVal;
if (inputVal > 50) result -= 2;
动机
对参数赋值,因为它降低了代码的清晰度,而且混用了按值传递和按引用传递方式这两种参数参数方式。。
如果你在“被传入对象”身上进行什么操作,那没问题。
做法
- 建立一个临时变量,把待处理的参数值赋予它
- 以“对参数的赋值”为界,将其后所以对此参数的引用点,全部替换为“对此临时变量的引用”
- 修改赋值语句,使其改为对新建之临时变量赋值。
- 编译、测试