爲什麼類不能過長?

爲什麼類不能過長?

目錄

  • 類過長:讀不通,擴展不通
  • 類過長:可能有冗餘代碼
  • 類過長:多半是職責過多

類過長:讀不通,擴展不通

讀不通 - 直接用滾輪滾都得好幾秒,就算是原開發者,時間長了恐怕也難以理清整個類,更不用說是其他的人

擴展不通 - 一個類有過多的接口,會讓擴展這個類變得異常困難,一動千行

類過長:可能有冗餘代碼

冗餘代碼,就是重複代碼

冗餘代碼的危害非常大:

冗餘代碼使方法、類過長,不簡潔

冗餘代碼會造成發散式修改

類過長:多半是職責過多

一個類開放幾十個接口,絕對存在職責過多的問題

違反設計原則 - 單一職責原則(單一職責原則要求一個類只實現一個職責),違反了這個原則會導致發散式變化、發散式修改、類過長等代碼問題,還會讓你的類難以擴展,甚至會讓其他程序猿認爲你不專業。

發散式變化(指引發此類修改的地方很多),如果一個類的職責很多,那它的扇入(調用者)一定很多,每個調用者的修改都有可能讓你這個類不得不隨之修改,也就是發散式變化。

發散式修改(指此類修改引發修改的地方很多),相同的,如果一個類職責很多,那支撐它實現的下級,即扇出(被調用方)一定很多,如果此類邏輯發生變動,所有下級被調用者可能都得隨之修改,也就是發散式修改。

難以擴展:如果你的一個類接口非常多,那它的子類怎麼辦?它的包裝類怎麼辦?難道全部都要實現這麼多接口,全部都要承擔同樣多的職責嗎?擴展起來真的非常麻煩。

觸發機關:【測試之怒】【運維之怒】

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章