當應用單一職責原則並查看班級的理由發生變化時,如何確定該原因是否過於細化或者不夠精細?單一責任原則:改變原因的粒度
4
A
回答
1
我不知道除了「根據你的經驗應用你的判斷」之外,還有一個很好的答案。如果沒有,獲得幫助,我想這是你在這裏做什麼;)
雖然,如果你發現你正在創建一個gazillion類來做一些看似簡單的工作,那麼你可能過於細化。如果你的課都看起來很大,那麼你可能太粗糙了。請原諒我,如果這是明顯的聲明。
我認爲這是那些模糊的,非硬性和快速規則的案例之一,它向我們展示了爲什麼我們需要人類程序員。只要嘗試一些東西,尋求平衡,如果發現自己朝着某個方向或另一方向走得太遠,就會重構。請記住:if it's worth doing, it's worth doing badly。
1
- 我不會太擔心粒度。我將首先在更廣泛的層面上分開關注。基本點是我們應該避免在這裏過度工程。但夠了。我在這裏同意Lucas,這第一步將會隨着經驗的提高而改善。
- 隨着需求的變化,隨着我開始感覺到「氣味」,隨着對問題的理解提高,我會通過分析各個問題的重構設計,因爲它們變得明顯。與整體設計一樣,基本上關注的分離也應該是漸進式的。
相關問題
- 1. 單一責任原則
- 2. 單一責任原則webapi
- 3. 幫助理解單一責任原則
- 4. 單一責任原則是否違規
- 5. 單一責任原則和課
- 6. 單一責任原則和知識庫
- 7. 單一責任原則 - 功能
- 8. 單一責任原則和Backbone.View
- 9. 按單責任原則重構方法
- 10. PetClinic例子破單個責任原則
- 11. 是單一責任原則OOP的一個規則?
- 12. 單一職責原則的實現
- 13. 單一責任原則 - 一個難以看到的例子?
- 14. 單一職責原則綜合類
- 15. 瞭解單一職責原則
- 16. 單一職責原則和聚合
- 17. 代碼遵守單一責任原則和單元測試
- 18. 單一責任原則(SRP)和我的服務類別
- 19. 我的代碼是否違反單一責任原則?
- 20. 什麼是單一責任原則的例子?
- 21. 什麼時候違反單一責任原則是合理的?
- 22. 單一責任原則與分離擔憂的區別
- 23. 這是單一責任原則的正確實施
- 24. 瞭解SOLID設計的單一責任原則
- 25. 違反Java核心迭代器中的單一責任原則
- 26. 單一責任原則如何與貓狗相關?
- 27. 「富域模式」能否違反單一責任原則?
- 28. 退出($ status)是否違反單一責任原則?
- 29. 打開/關閉原則和單一責任 - 圖
- 30. 在課堂上應用單一責任原則?
+1:好東西太多太糟糕了 – 2009-03-21 10:04:36