2011-06-12 86 views
0

我正在與我的同事發生爭執。當重載兩個方法時,具有更多參數的那個調用具有較少參數的那個被認爲是不好的做法?重載:用更少參數調用更多參數的方法

例如:

method (P p1, P p2, P p3) { 
     <do something with p1 and p2 => newP>; 
     method (newP, p3); 
} 
method (P p1, P p2) { 
     .... 
} 
+0

爲什麼這是一個不好的做法是什麼理由? – btreat 2011-06-12 19:55:53

回答

1

超載鏈這樣是一種常見的做法(特別是與構造函數) - 我不會把它壞的,雖然它可能會被濫用最喜歡的語言特性。

只要它減少代碼重複,這是一個很好的做法。大多數時候,我發現它也更具可讀性。

我會說使用這種技術是個人意見和風格的問題,而不是絕對的好的或壞的做法。

0

這是構造函數調用中使用的一般範例,即具有更多參數的泛型調用較少參數的方法,然後使用其餘參數繼續其初始化。我不認爲它是構建物體背景中的一種不好的做法,但我不確定它在其他情況下是否有意義。

0

而不是這種做法,我們可以去在一些情況下使用多個參數的方法,如c中的printf。 Java現在也支持。

0

我認爲這是一個很好的做法,因爲它隱藏了細節。雖然你展示的例子似乎是相反的。

我希望有較少參數的那個調用帶有更多+默認值的參數。 你正在打電話給那個細節較少的細節。不知何故,這氣味腥,但也許這只是因爲我不熟悉這種方法,