原文:小酌重構系列[12]——去除上帝類

關於上帝類 神說: 要有光 ,就有了光。 聖經 。上帝要是會寫程序,他寫的類一定是 上帝類 。程序員不是上帝,不要妄想成為上帝,但程序員可以寫出 上帝類 。上帝是唯一的,上帝的光芒照耀人間,上帝是很愛面子的,他知道程序員寫了 上帝類 ,搶了他的風頭,於是他降下神罰要懲戒程序員。 既然你寫了 上帝類 ,那么就將你流放到艱難地修改和痛苦的維護的煉獄中,在地獄之火中永久地熬煉。 你看,上帝也是有脾氣的, ...

2016-05-14 15:19 0 1944 推薦指數:

查看詳情

重構第27天 去除上帝(Remove God Classes)

理解:本文中的”去除上帝”是指把一個看似功能很強且很難維護的,按照職責把自己的屬性或方法分派到各自的中或分解成功能明確的,從而去掉上帝。 詳解:我們經常可以在一些原來的代碼中見到一些明確違反了SRP原則(單一原則),這些通常以“Utils”或“Manager”后綴結尾,但有時這些 ...

Tue Apr 12 17:26:00 CST 2016 0 2659
小酌重構系列[1]——移動方法

的“移動方法”,是一種讓方法放進合適的class的重構策略。 選擇合適的容器 生活中我們會用到杯子和 ...

Mon Apr 25 02:47:00 CST 2016 14 3948
小酌重構系列目錄匯總

為了方便大家閱讀這個系列的文章,我弄了個目錄匯總。 開篇和結尾 開篇有益 (2016-04-23) 終篇總結 (2016-06-02) 方法、字段重構 移動方法 (2016-04-24) 提取方法、提取方法對象 (2016-04-26) 方法、字段的提升和降低 ...

Sat May 14 23:32:00 CST 2016 2 3528
小酌重構系列[22]——盡快返回

概述 閱讀文章時,如果某個段落已經傳達了關鍵信息,我們可能就不會逐字逐句地將文章讀完,因為我們已經知道了這篇文章的核心內容。與此類似,如果方法中某些條件判斷可以得到結果,我們應該盡快返回該結果。 ...

Tue May 31 15:04:00 CST 2016 4 967
小酌重構系列[10]——分離職責

概述 “分離職責”是經常使用的一個重構策略,當一個擔任的職責太多時,應按職責將它拆分成多個,每個分別承擔“單一”的職責,也就是讓每個專心地做“一件事情”。 SRP原則 在面向對象編程中,SRP原則是一個非常重要的原則(SOLID原則都很重要),在展示示例前,我們先了解一下SRP原則 ...

Thu May 12 08:12:00 CST 2016 3 1094
小酌重構系列[24]——封裝集合

概述 當方法返回類型或屬性類型為集合時,有些開發者會千篇一律地使用IList<T>集合。然而IList<T>具有集合的所有操作,這意味着調用者不僅可以讀取集合信息,還能夠修改 ...

Wed Jun 01 15:13:00 CST 2016 7 1168
小酌重構系列[18]——重命名

概述 代碼是從命名開始的,我們給、方法、變量和參數命名,我們也給解決方案、工程、目錄命名。在編碼時,除了應該遵守編程語言本身的命名規范外,我們應該提供好的命名。好的命名意味着良好的可讀性,讀你代碼的人無需太多的注釋,就能通過名稱知道它是什么,它能做什么事兒,以及它應該怎么用。 我們命名、命名 ...

Fri May 20 15:26:00 CST 2016 8 972
小酌重構系列[6]——引入參數對象

簡述 如果方法有超過3個以上的參數,調用方法時就會顯得冗詞贅句。這時將多個參數封裝成一個對象,調用方法會顯得干凈整潔。這就是本文要講的重構策略“引入參數對象”——將方法的參數封為,並用這個的對象替換方法中原有的參數。 引入參數對象 下圖演示了這個重構策略,OrderSerivce表示訂單 ...

Thu May 05 07:58:00 CST 2016 10 908
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM