簡(jiǎn)述
Remove Assignments to Parameters(移除對(duì)參數(shù)的賦值)指代碼對(duì)一個(gè)參數(shù)賦值,以一個(gè)臨時(shí)變量取代該參數(shù)的位置
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;
動(dòng)機(jī)
對(duì)參數(shù)賦值酪术,因?yàn)樗档土舜a的清晰度器瘪,而且混用了按值傳遞和按引用傳遞方式這兩種參數(shù)參數(shù)方式翠储。。
如果你在“被傳入對(duì)象”身上進(jìn)行什么操作橡疼,那沒(méi)問(wèn)題援所。
做法
- 建立一個(gè)臨時(shí)變量,把待處理的參數(shù)值賦予它
- 以“對(duì)參數(shù)的賦值”為界欣除,將其后所以對(duì)此參數(shù)的引用點(diǎn)住拭,全部替換為“對(duì)此臨時(shí)變量的引用”
- 修改賦值語(yǔ)句,使其改為對(duì)新建之臨時(shí)變量賦值历帚。
- 編譯滔岳、測(cè)試