2009-07-16 64 views
0

我已經看到了遺留代碼如下:重新分配參數

public void someFunction(List myList){ 
List myList2 = myList; 
} 

是否有一個很好的理由來重新分配參數作爲函數的局部變量?

+0

這看起來像Java或C#,所以它必須是一些非常新的「遺留代碼」! – 2009-07-16 18:46:36

+0

@尼爾:「遺產」標籤相當迅速,而Java則是14歲。 – 2009-07-16 18:50:47

回答

1

不是。在我看來,應該避免混淆名稱或重用名字。

0

這取決於語言。在某些情況下,您可能需要稍後對「複製」進行更改 - 在某些語言/情況下,更改原始參數將會更改調用者所看到的內容。

如果你可以說你正在談論哪種語言(Java?)並給出一個具體的例子,這將有助於我們解釋。

0

沒有很好的理由這樣做,通過值傳遞參數。這看起來像一個不太流利的開發人員,他回憶說,如果他不參與其參數副本的工作,他會用另一種語言來咬他。

1

可能是個人風格。或嘗試創建新參考失敗?我非常肯定的是編譯器放棄了myList2而贊成myList。