原文:大話重構 之 防止“加個需求,到處改代碼”

上一篇 職責單一原則真的簡單嗎 中我們認識了 發散式變化 ,它是一個類包含多個維度的變化,職責不單一。本文討論的代碼壞味道是 散彈式修改 ,與 發散式變化 恰好相反,一個維度的變化涉及到多個類。 在商業項目開發過程中,經常會碰到 加個需求,到處改代碼 的情況,也就是 散彈式修改 ,典型后果是漏改某些地方,導致整個系統表現不一致。 要解決 散彈式修改 ,對重構 設計技能有較高要求。一如既往,一碼上個 ...

2015-07-01 05:57 10 2968 推薦指數:

查看詳情

大話重構 之 解決萬惡之首“重復代碼

排在壞味道之首的是重復代碼。為什么它如此臭名昭著?各位看客可以看《消除壞味道》系列的開篇文章《重構,企業級應用的聖經》,本文不再重復說明,僅引用其中的觀點: 提示:對於任何事物,代碼中只應該出現一次,而且是唯一的一次。 下面我們將介紹如何消除幾種典型的重復代碼,以及如何培養消除重復 ...

Wed May 20 17:41:00 CST 2015 0 4507
大話重構 之 消除巨無霸類

當你看到別人寫的超過千行的巨無霸類,以及隨着時間的累積,自己寫的類也穩步邁向巨無霸的時候,是不是既恐懼又無奈?一碼今天就帶小伙伴們征服巨無霸,打造屬於自己的成就感。 過長類的緣由 當業務邏輯隨着時 ...

Wed Jun 03 17:16:00 CST 2015 11 2484
大話重構 之 答讀者問

越來越多人關注《大話重構》系列,一碼感謝大家的支持。從系列開始到現在,有提出疑問的,有說好的,有說壞的,一碼在此一並回答。 問:單篇篇幅長,知識點多,看起來很吃力 答:如果覺得有難度,不要氣餒,你學習的機會就在眼前。《大話重構》的每篇文章都針對一種代碼壞味道,務求講清“壞”在哪兒,有哪些方法 ...

Tue Jun 09 02:37:00 CST 2015 8 838
大話重構 之 原來反OO天天見

在OO(面向對象)時代長大的小伙伴們一定記得: 面向對象的基石:把數據和依賴該數據的行為封裝在一起。 但我們經常遇到一個類依賴其它類的數據的情況。不多的話,正常,對象間勢必存在交互,畢竟 ...

Thu Jul 23 09:02:00 CST 2015 2 1504
大話重構 之 消除過長方法

在面向對象程序中活的最好最長久的是短方法。對於新手而言,很困惱面向對象的程序中完全找不到計算邏輯,反而是無窮無盡的方法調用,但是當你習慣面向對象后就會了解到短方法的價值所在。 短方法的價值 從較早 ...

Mon May 25 15:49:00 CST 2015 2 1831
代碼重構:函數重構規則

轉:https://www.cnblogs.com/ludashi/p/5223241.html 重構是項目做到一定程度后必然要做的事情。代碼重構,可以改善既有的代碼設計,增強既有工程的可擴充、可維護性。隨着項目需求的不斷迭代,需求的不斷更新,我們在項目中所寫的代碼也在時時刻刻的在變化之中 ...

Thu Jun 20 04:51:00 CST 2019 0 744
代碼重構(二):類重構規則

在上篇博客《代碼重構(一):函數重構規則(Swift版)》中,詳細的介紹了函數的重構規則,其中主要包括:Extract Method, Inline Method, Inline Temp, Replace Temp with Query, Introduce Explaining ...

Mon Mar 07 17:19:00 CST 2016 4 5241
代碼重構(三):數據重構規則

在《代碼重構(一):函數重構規則(Swift版)》和《代碼重構(二):類重構規則(Swift版)》中詳細的介紹了函數與類的重構規則。本篇博客延續之前博客的風格,分享一下在Swift語言中是如何對數據進行重構的。對數據重構是很有必要的,因為我們的程序主要是對數據進行處理。如果你的業務邏輯非常復雜 ...

Mon Mar 14 17:48:00 CST 2016 0 3003
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM