回答

5

它確實取決於您的項目的規模和範圍。

我傾向於每次都會有一些重複時間的事情分成功能,而重複廣義/抽象,下面的DRY的黃金法則(不要重複自己)。就分割類而言,我傾向於遵循面向對象編程的理念,即將不同的東西隔離開來,並且如果一個類正在實現更多的一個大理論「想法」或實體。但是老實說,如果你的代碼太碎片化和不透明,你應該嘗試考慮將重構轉換爲不同的方法/範例。

+1

+1:第二個概念是SRP http://en.wikipedia.org/wiki/Single_responsibility_principle – 2010-08-31 16:02:24

1

也許我自己的個人規則是,如果它超過兩行,並且在同一頁面(ASP.net)上被多次引用,或者在幾頁內傳播幾次,那麼我會比寫一個函數來做到這一點。

1

我想你一般不得不想到一大塊代碼有被重用的機會。它帶有經驗來解決這個問題並提前計劃。

0

我被教過,你不止一次做的任何事情都應該是一個功能。任何類似的東西都應該有一個父類,最重要的是在你的組織內查閱你的源代碼「標準」。後者主要處理格式。

+2

爲了提供對常用功能的簡單訪問,我會小心提倡繼承。成分更好。保留繼承來表達「is-a」關係。 – 2010-06-24 05:51:27

+0

點採取勞裏 – bobby 2010-06-24 07:55:02

1

我同意專注於可重用性和消除重複的答案,但我也相信可讀​​性至少同樣重要。因此,除了重複之外,我還會尋找能夠完成多件事的代碼段(類,函數,塊等)。

如果與代碼相關的名稱沒有描述它的功能,那麼現在是將代碼重構爲單元的好時機,每個單元都有一個single responsibility和一個描述性名稱。這separation of concerns將幫助重用性和可讀性。

有用的代碼可以堅持很長一段時間,所以重要的是你(或者理想的情況下是其他人)可以返回並輕鬆理解幾個月或幾年前編寫的代碼。

2

如果我可以給它一個好聽的名字(比它所取代的代碼更好),它成爲一個功能

相關問題