SOLID的教條主義 - Matthias

banq發表於2020-02-12

大多數人進行SOLID軟體設計討論時都會很快變糟。我們最終為單一職責的“實際含義”而爭辯或糾結,由於“開放/關閉”,我們某種程度上又需要抽象基類,並且由於“依賴倒置”,我們還向實體新增了介面。
除了使您的程式碼“遵循SOLID”之外,還有更多重要的問題需要關注。此外,當您對“原則”非常“虔誠”時,原則真的很危險。但這就是許多開發人員(包括我自己)在學習良好原則時想要努力的方向。
對我而言,設計質量是:如果我的假設前提是錯誤的,更改結果有多容易?如果應用程式周圍的所有內容(框架,資料庫,遠端Web服務等)都消失了,這些程式碼是否還能生存?該程式碼的行為是否由程式碼本身以外的其他東西指定?

眾說紛紜:
當有人在爭論SRP時,對我有用的是讓整個團隊坐下來,並徵求所有人的意見,以定義對團隊意味著什麼。兩位辯論者都必須願意同意團隊的協議(因為一致性才是真正重要的)。
那絕對是處理它的一種方式。我同意人們應該就重要事項達成共識,並採取相應的行動。每當情況似乎並非如此時,最好花點時間進行調整。

 

相關文章