類別

類別的結構

遵循Java的慣例,一個類別的開頭應該是一連串的變數,依序是

  1. 公用靜態變數

  2. 私有靜態變數

  3. 私有實體變數

(很少會有讓我們使用公用變數的好理由)

公用函式應該緊接在變數宣告的後方。 我們喜歡將私有工具函式,緊接放置在呼叫他的公用函式後面,這遵循了降層法則(stepdown rule),也有助於閱讀程式。

封裝

我們希望我們的變數和工具函式保持私有,但我們對此並不執著。 有時候我們需要讓變數或工具函式是保護型態(protected),這樣測試程式才有辦法存取他們。

對我們來說,測試就是王道。

類別要夠簡短

關於類別的第一準則,就是類別要夠簡短。

在函式裡,我們計算真正的程式行數,來衡量函式的大小。 在類別裡,我們利用不同的量測方式,我們計算職責的數量

類別的命名應足以描述其職責。 事實上,名稱可能是幫忙決定類別大小的第一個手段。

在不使用 if, and, or, but 等字眼的情況下,我們應該要能在 25 個字詞內,替類別寫出一個簡短的描述。

單一職責原則(Single Responsibility Principle, SRP)

主張一個類別或一個模組應該有一個,也只能有一個修改的理由。

試著確認職責(修改的理由)常幫助我們在程式裡,找出或建立較好的抽象概念。

『讓軟體能夠運作』和『讓軟體保持整潔』是完全不同的兩碼子事。 多數人的腦容量有限,所以我們專注在讓程式能夠運作,而非讓程式有組織性和整潔,這是完全適合的。 在寫程式的時候,專注在一件事務上,將其他事務暫時柄棄,是很重要的撰寫程式技巧。 就像設計程式時,依此也只能專注在『讓程式運作』或『讓程式整潔』其中之一。

而這兩者的重要性是相同的。

Last updated