前情提要
上一篇文章中惩坑,講到了我在閱讀這本書時的感悟,及我對身邊同伴于這本書閱讀觀感的觀察也拜、疑惑和思考旭贬。在今天的文章中,我將說明疑惑是如何被解決的搪泳。
如果你看不懂它的話,那么你就看不懂它
前面我們說到扼脐,老人們認(rèn)為岸军,缺乏足夠經(jīng)驗的新手無法領(lǐng)悟 Clean Code奋刽。這難道不是一個很諷刺的回答嗎?一本書寫出來是為了給人指導(dǎo)的艰赞,如果說佣谐,只有已經(jīng)具備很足夠經(jīng)驗的人才能看懂它,而無法對缺乏經(jīng)驗的人一點幫助方妖,那么狭魂,這本書其實是無用的。打個比方的話党觅,就等于幼兒園的小朋友看線性代數(shù)……
反過來想
到這個地步雌澄,基本上這個問題是無解的了。于是我想到《如何解題》中的建議——
反過來思考杯瞻。
我一直在想 Clean Code 這本書該怎么看镐牺,怎樣才能從中得到收獲?可是我從來
沒有問過魁莉,為什么我要讀這本書睬涧!
是呀,為什么我需要讀這本書呢旗唁?老人們?yōu)槭裁聪胱屛易x這本書呢畦浓?他們認(rèn)為讀了這本書可以習(xí)得一些編寫整潔代碼的要點,會提高代碼的質(zhì)量检疫。
為什么要讀這本書 -> 老人的建議 -> 提高代碼質(zhì)量
也就是說讶请,其實他們的 目的是讓我提高代碼質(zhì)量,而不是讀這本書本身 电谣。于是秽梅,我們成功地可以把問題從 如何閱讀 Clean Code 規(guī)約為 如何提高代碼質(zhì)量。
感覺好像問題變得更加明了了剿牺,但是如果我們再深入一步呢——為什么要提高代碼
質(zhì)量企垦?
高質(zhì)量代碼 -> 可讀性高
可讀性高 -> 別人能看得懂
為什么要讓別人讀得懂 -> 減少溝通成本
為什么要減少溝通成本 -> 團(tuán)隊開發(fā)
這才是真正的問題,整潔代碼的目的在于減少團(tuán)隊成員的溝通成本晒来,而不在于寫出讓自己滿意的代碼钞诡。
什么是 Clean Code
深合己意?
如何每個例程都讓你感到深合己意湃崩,那就是整潔代碼 - 沃德原則
咋看之下荧降,這說的是對的。仔細(xì)想想攒读,會發(fā)現(xiàn)這句話是經(jīng)不起推敲的朵诫。我寫了一
段自己滿意的代碼,那么它就是整潔代碼了薄扁。如果正如這個 沃德原則 所言的話剪返,
那么整潔的垃圾代碼真的不少废累。自己滿意,但是別人看不懂的代碼多了去了脱盲,這
句話純粹是廢話邑滨,完全經(jīng)不起推敲。
那么到底怎樣才算是整潔代碼钱反?
大家好才是真的好掖看?
如果每段代碼都讓團(tuán)隊里的人一看就知道是什么意思,那就是整潔代碼面哥。
代碼的質(zhì)量不是作者自己能評定的哎壳,要由團(tuán)隊來決定。能讓團(tuán)隊成員一下子看懂
的幢竹,符合團(tuán)隊開發(fā)風(fēng)格的耳峦,才是質(zhì)量高的代碼。程序員的工作焕毫,很少單獨有一個人完成的蹲坷。正是因為團(tuán)隊開發(fā)的原因,整潔代碼才是有必要的邑飒。
真正的問題
只有在團(tuán)隊開發(fā)的情況下循签,別人才需要不得不大量閱讀你編寫的代碼。這個時候疙咸,
如果你寫的代碼可讀性特別差县匠,就會大大提高成員之間的溝通成本,降低工作效
率撒轮。
兩個人的團(tuán)隊中乞旦,A 和 B 每天開始工作時都得問對方寫的代碼是什么意思
三個人的團(tuán)隊中,A, B 和 C 一共需要溝通 6 次
四個人的團(tuán)隊中题山,A,B顶瞳,C 和 D 需要 24 次
五個人的團(tuán)隊中,A慨菱,B,C符喝,D 和 E 需要 120 次
這個計算當(dāng)然是夸張了闪彼,但是,它說明了可讀性的代碼對于團(tuán)隊生產(chǎn)力的巨大破
壞作用协饲,從反面來說课蔬,也就證實了可讀性對于團(tuán)隊開發(fā)的重要性郊尝。
就是在團(tuán)隊開發(fā)的情況下,別人才需要閱讀你的代碼以進(jìn)行增量開發(fā)和功能拓展战惊,
也就只有在這種情況下流昏,可讀性才顯得如此重要。
自己寫完就扔的代碼吞获,不需要可讀性况凉,就算寫完了只有上帝知道它做了什么各拷,有
什么關(guān)系?大括號該放哪兒烤黍?蛇底式還是駝峰式?函數(shù)命名要用動詞闪萄?類名應(yīng)該
是名詞辐烂,不能用復(fù)數(shù)?自己怎么開心怎么來好吧赊时,管它呢~~~