代碼整潔之道 9颤陶、10、11

單元測試

9.1 TDD三定律
  • 在編寫不能通過的單元測試前陷遮,不可編寫生產(chǎn)代碼
  • 只可編寫剛好無法通過的單元測試滓走,不能編譯也不算通過
  • 只可編寫剛好足以通過當(dāng)前失敗測試的生產(chǎn)代碼
9.2 保持測試的整潔

測試代碼和生產(chǎn)代碼一樣重要。他需要被思考帽馋,設(shè)計(jì)和照料

9.3 整潔的測試

測試的要素:整潔性
** 9.3.1 面向特定領(lǐng)域的測試語言 **
面對特定領(lǐng)域的語言搅方。不要直接使用程序員提供的對系統(tǒng)進(jìn)行操作的API,而是打造一套包裝這些API的函數(shù)與工具代碼
** 9.3.2 雙重標(biāo)準(zhǔn) **
有些事在生產(chǎn)環(huán)境中不能夠去做绽族,而在測試環(huán)境中做卻完全沒有問題姨涡。

9.4 每個測試一個斷言
9.5 F.I.R.S.T

F:Fast,測試足夠快能夠快速運(yùn)行
I:Independency,測試應(yīng)該相互獨(dú)立吧慢,彼此沒有聯(lián)系
R:Repeatable涛漂,可以重復(fù)通過
S:Self-Validating,自足驗(yàn)證
T:Timely娄蔼,及時

第十章 類

10.1 類的組織
類應(yīng)該由一組變量列表開始怖喻,如果有公共靜態(tài)變量,應(yīng)該先出現(xiàn)岁诉,然后是私有靜態(tài)變量锚沸,以及私有實(shí)體變量,很少會有公共變量涕癣。
公共函數(shù)應(yīng)該跟在變量列表之后哗蜈。我們喜歡將某個公共函數(shù)調(diào)用的私有工具函數(shù)緊隨在該公共函數(shù)后面。
封裝
我們喜歡保持變量和工具函數(shù)的私有性坠韩,但并不執(zhí)著于此距潘。放松封裝總是下策。
10.2 類應(yīng)該短小
類的大小的衡量只搁,通過權(quán)責(zé)responsibility來判斷 音比。
類的名稱應(yīng)該描述其權(quán)責(zé),命名是判斷類的長度第一個手段氢惋,如果無法精確命名一個類洞翩,或者類名過長稽犁,很含混,該類越可能含有過多的權(quán)責(zé)骚亿。
10.2.1 單一職責(zé)原則
系統(tǒng)應(yīng)該由許多短小的類而不是少量巨大的類組成已亥。每個小類封裝一個權(quán)責(zé),只有一個修改的原因来屠,并于少數(shù)其他類一起協(xié)同達(dá)成期望的系統(tǒng)行為虑椎。
10.2.2 內(nèi)聚
類應(yīng)該有少量實(shí)體變量。類中的每個方法都應(yīng)該操作一個或多個變量俱笛。通常而言捆姜,方法操作的變量越多,就越黏聚在類上嫂粟。如果一個類中的每個變量被每個方法所使用娇未,則該類具有最大的內(nèi)聚性。
10.2.3 保持內(nèi)聚性會得到許多短小的類
當(dāng)類喪失了內(nèi)聚性星虹,就拆分它零抬。
10.3 為了修改而組織
對于大多數(shù)的系統(tǒng),修改將一直持續(xù)宽涌。每處修改都讓我們冒著系統(tǒng)其他部分不能如預(yù)期般工作的風(fēng)險(xiǎn)平夜。在整潔的環(huán)境中,我們對類加以組織卸亮,以降低修改的風(fēng)險(xiǎn)忽妒。
隔離修改
需求會改變,所以代碼也會改變兼贸。我們學(xué)習(xí)到段直,具體類包含實(shí)現(xiàn)細(xì)節(jié),而抽象類只呈現(xiàn)概念溶诞。依賴于具體實(shí)現(xiàn)的客戶類鸯檬,當(dāng)細(xì)節(jié)改變時,就會有風(fēng)險(xiǎn)螺垢。我們可以借助與接口和抽象類來隔離這些細(xì)節(jié)帶來的影響喧务。

第十一章 系統(tǒng)

11.1 如何建造一個城市
在較高的抽象層級---系統(tǒng)層級上保持代碼整潔。
11.2 將系統(tǒng)的構(gòu)造和使用分開
軟件系統(tǒng)在起始過程中和起始過程之后的運(yùn)行時邏輯分離開枉圃,在起始過程中構(gòu)建應(yīng)用對象功茴,也會存在相互纏結(jié)的依賴關(guān)系。

=====

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末孽亲,一起剝皮案震驚了整個濱河市坎穿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌返劲,老刑警劉巖玲昧,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件犯祠,死亡現(xiàn)場離奇詭異,居然都是意外死亡酌呆,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門搔耕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來隙袁,“玉大人,你說我怎么就攤上這事弃榨∑惺眨” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵鲸睛,是天一觀的道長娜饵。 經(jīng)常有香客問我,道長官辈,這世上最難降的妖魔是什么箱舞? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮拳亿,結(jié)果婚禮上晴股,老公的妹妹穿的比我還像新娘。我一直安慰自己肺魁,他們只是感情好电湘,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著鹅经,像睡著了一般寂呛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上瘾晃,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天贷痪,我揣著相機(jī)與錄音,去河邊找鬼酗捌。 笑死呢诬,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的胖缤。 我是一名探鬼主播尚镰,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼哪廓!你這毒婦竟也來了狗唉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤涡真,失蹤者是張志新(化名)和其女友劉穎分俯,沒想到半個月后肾筐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡缸剪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年吗铐,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片杏节。...
    茶點(diǎn)故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡唬渗,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出奋渔,到底是詐尸還是另有隱情镊逝,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布嫉鲸,位于F島的核電站撑蒜,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏玄渗。R本人自食惡果不足惜座菠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望捻爷。 院中可真熱鬧辈灼,春花似錦、人聲如沸也榄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽甜紫。三九已至降宅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間囚霸,已是汗流浹背腰根。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拓型,地道東北人额嘿。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像劣挫,于是被迫代替她去往敵國和親册养。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 第二章:做有意義的命名 —(2017-08-03日) 1.名副其實(shí):選個好的命名,見名知意,變量,或函數(shù),或類馮名...
    Mr_歡先生閱讀 780評論 0 10
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,162評論 25 707
  • 目錄及筆記鏈接 序 丹麥諺語:小處誠實(shí)非小事压固。 建筑師路德維希:神在細(xì)節(jié)之中球拦。 日本的 5S 哲學(xué): 整理(整理、...
    小鐳Ra閱讀 1,496評論 3 3
  • “相對于任何宏偉景愿,對細(xì)節(jié)的關(guān)注甚至是更為關(guān)鍵的專業(yè)性基礎(chǔ)坎炼。首先愧膀,開發(fā)者通過小型實(shí)踐獲得可用于大型實(shí)踐的技能和信...
    尋海閱讀 4,728評論 1 27
  • 巴弟是一只小狗,純白色的西高地梗谣光,到今年4月滿一歲檩淋。我非常想它,在將它送給新主人不久后萄金,那個女生就把我拉黑了狼钮。自此...
    含山云容閱讀 525評論 2 7