我真的很喜歡使用靜態方法(特別是對於helpers類)。但是,由於靜態方法不可能存在,最終它們是一種不好的做法,不是嗎?所以我必須在靜態方法的使用方便性和可測試性之間進行選擇。有沒有妥協?靜態或不靜態
Q
靜態或不靜態
1
A
回答
9
這取決於靜態方法的作用。
這是否真的必須是殘骸?像數據訪問,長時間運行的操作等等,還是你的意思是像.ToSlug()這樣的輔助方法?
如果是前一種情況,我會讓他們成爲實例方法來提高測試的可測試性/速度。
如果是後者,我會讓它們靜止並驗證它們的正確性。
2
如果您可以保證靜態方法總是返回給定輸入的相同結果,並且它們存在的唯一原因是幫助方法(轉換或轉換輸入 - >沒有sideeffects的輸出),我沒有看到問題。對於額外的踢,你可以讓他們的擴展方法(從C#3.0)。
相關問題
- 1. Python靜態或不靜態
- 2. 靜態或靜態最終
- 3. 使用靜態或非靜態類
- 4. c#靜態或非靜態類
- 5. 構造是靜態或非靜態
- 6. 讓GUI靜態或不是
- 7. 靜態或動態ips
- 8. 靜態或動態數組
- 9. C#靜態類 - 靜態類不能有非靜態成員
- 10. 靜態或私人
- 11. 靜態...不是真的靜態
- 12. PHP靜態不是那麼靜態
- 13. 靜態Mutext和不是靜態互斥
- 14. 不能使靜態方法非靜態
- 15. 靜態和非靜態
- 16. 靜態與非靜態類
- 17. 靜態靜態方法?
- 18. 靜態/靜態問題Java
- 19. 靜態主類靜態類?
- 20. 靜態方法或使用靜態字段的非靜態方法
- 21. 靜態類中的靜態變量和非靜態類中的靜態變量
- 22. 不能使靜態參考非靜態場......但我不是在靜態參考
- 23. 覆蓋靜態成員和「靜態靜態數組」
- 24. 靜態工具操作的靜態類與靜態結構?
- 25. 靜態塊vs靜態方法 - 初始化靜態域
- 26. 通過靜態和非靜態方法訪問靜態屬性?
- 27. 靜態
- 28. JPA EntityManager靜態或實例?
- 29. 靜態方法或超
- 30. 單身或靜態類
同意。順便提一下這個問題。 例如,您可能還想閱讀: http://stackoverflow.com/questions/731763/should-c-methods-that-can-be-static-be-static http://stackoverflow.com/questions/1184701 /靜態-VS-非靜態方法 – SirLenz0rlot 2010-06-06 10:26:45