不要當(dāng)你需要新的功能的時(shí)候,或者原來(lái)的程序出了Bug,你才想起重構(gòu)。
《重構(gòu)》那本書(shū)你看過(guò)了嗎?它寫的是什么?那本書(shū)的價(jià)值何在?介紹重構(gòu)這門技術(shù)?告訴你為什么重構(gòu)?錯(cuò)!那本書(shū)的價(jià)值就在于它把應(yīng)該引起重構(gòu)的Bad Smell一一列了出來(lái),并給出了該如何重構(gòu)解決這些Bad Smell的意見(jiàn),不然那本書(shū)看一遍就可以扔了!
你知道什么是面向?qū)ο髥幔拷涌冢?你知道什么是TDD嗎?重構(gòu)!
詳細(xì)內(nèi)容
TDD
這個(gè)概念出現(xiàn)至少也有兩年多了, 在大家剛接觸它時(shí)候, 幾乎沒(méi)人不拍手鼓掌, 測(cè)試驅(qū)動(dòng)的概念確實(shí)可以為我們帶來(lái)很多的好處. 泡泡在前不久寫了一篇很不錯(cuò)的TDD的文章, 可是我還是忍不住在他的評(píng)論中說(shuō)到這篇文章有點(diǎn)”老”. 確實(shí),同樣的概念在書(shū)中, 在大家的口中已經(jīng)被說(shuō)爛了. 但是TDD真正給我們帶來(lái)什么呢? 有多少人在用TDD呢? 為什么這么好的技術(shù)到了應(yīng)用中就被人們”拋棄”了呢?
(注: Design Pattern面世都十幾年了, 現(xiàn)在還是有不少好書(shū)在介紹它,所以”老”不代表不好,泡泡的總結(jié)在園子里還是最好的一篇TDD文章, 特別建議剛接觸TDD的參考之.)
TDD的應(yīng)用是阻撓TDD發(fā)展的重要原因, 回想一下有關(guān)TDD書(shū)中舉的那些例子. 再想想你學(xué)習(xí)了解TDD自己又做了哪些應(yīng)用? --- 類庫(kù), 最基本的幾個(gè)類之間協(xié)作, 不涉及數(shù)據(jù)庫(kù),不涉及UI,不涉及企業(yè)服務(wù). 這樣看來(lái)TDD最適用的場(chǎng)合就是不涉及復(fù)雜應(yīng)用的類庫(kù). 比如一個(gè)保齡球游戲, 一個(gè)Money兌換系統(tǒng). 如果是這樣那TDD自然沒(méi)有人用了, 真正的項(xiàng)目有幾個(gè)不涉及負(fù)責(zé)應(yīng)用呢, 有幾個(gè)不和數(shù)據(jù)庫(kù),界面打交道? 可是一旦你想將TDD應(yīng)用于此時(shí), 你就會(huì)發(fā)現(xiàn)煩不勝煩, 無(wú)從下手.
難道TDD真得這么不堪一擊?... 詳細(xì)內(nèi)容