中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

最臭的臭彈(Biggest Stinkers)

  在 SDTConf 2009論壇上,Corey Haines和我共同主持了一個(gè)叫做“最臭的臭彈”的研討會(huì)。會(huì)議上,我們?cè)噲D去尋找下面兩個(gè)(不同的)問(wèn)題的答案:

  • 作為一個(gè)經(jīng)驗(yàn)豐富的開(kāi)發(fā)人員,回顧往事,最臭的讓你最受折磨的代碼是什么樣的?也就是說(shuō),請(qǐng)指出一種代碼,如果你能根除掉這種很臭的代碼,那么在你的程序中的大部分設(shè)計(jì)問(wèn)題都會(huì)迎刃而解
  • 我們有如此多的不同的原則和指導(dǎo)來(lái)幫助我們?nèi)?shí)現(xiàn)好的設(shè)計(jì)。對(duì)于一個(gè)新手來(lái)說(shuō),他應(yīng)該從哪里開(kāi)始?哪種代碼風(fēng)味(code smell)或原則,對(duì)于一個(gè)新手來(lái)說(shuō),可以最大程度的幫助他們做出好的設(shè)計(jì)(節(jié)省好幾年去總結(jié)經(jīng)驗(yàn))?

  盡管字面上這兩個(gè)問(wèn)題很相似,但我認(rèn)為這第二個(gè)問(wèn)題更具有廣泛的意義,跟第一個(gè)有很大的不同。

  不管怎樣,這次研討會(huì)都能稱(chēng)得上是一個(gè)熱鬧的會(huì)議。我們有不少很厲害的辯手來(lái)批判所謂的最臭的代碼的味道(最臭的臭彈):

  • Corey Haines的觀點(diǎn):重復(fù)的代碼
  • 我的觀點(diǎn):Primitive Obsession(總是使用底層的數(shù)據(jù)結(jié)構(gòu)/原始的數(shù)據(jù)類(lèi)型,而使用經(jīng)過(guò)更高層抽象過(guò)的數(shù)據(jù)機(jī)構(gòu)或其它可以n倍的減少?gòu)?fù)雜性。這并不只針對(duì)面向?qū)ο蟮木幊獭_@指的是缺乏在應(yīng)該進(jìn)行抽象的數(shù)據(jù)層面上進(jìn)行抽象)
  • Matt Van Vleet 的觀點(diǎn):?jiǎn)我还δ茉瓌t
  • Venkat Subramaniam 的觀點(diǎn):避免寫(xiě)代碼
  • Jim Weirich (他并沒(méi)有出席這次會(huì)議)的觀點(diǎn): 共生性

  我們都認(rèn)為避免寫(xiě)代碼(只有在沒(méi)有其它辦法的時(shí)候才去寫(xiě)新代碼)是最重要的需要讓每個(gè)開(kāi)發(fā)人員都認(rèn)識(shí)到的問(wèn)題。大量的重復(fù)的代碼,劣質(zhì)的代碼(存在于各種項(xiàng)目中)積累到今天已經(jīng)無(wú)法統(tǒng)計(jì)了。在很多情況中程序員根本不喜歡去搜尋一下可以利用的程序,他們只知道自己去寫(xiě)。這就是為什么我們要去以代碼行數(shù)(LoC)來(lái)作為評(píng)審代碼效率和性能的原因。一般來(lái)講,好的程序員的開(kāi)發(fā)速度會(huì)比一般的程序員的速度快20倍以上,因?yàn)樗麄儗?duì)重復(fù)利用現(xiàn)有代碼的認(rèn)識(shí)完全不在一個(gè)層次上。

  很多人對(duì);Not Invented Here Syndrome(簡(jiǎn)單解釋為開(kāi)發(fā)團(tuán)隊(duì)不喜歡使用不是自己寫(xiě)的程序,縮寫(xiě)為NIHS)“這個(gè)說(shuō)法感到困惑。我個(gè)人認(rèn)為NIHS對(duì)于我們這個(gè)領(lǐng)域里的進(jìn)步有很重要的意義。NIHS體現(xiàn)在設(shè)計(jì)和解決方案層面。Joel 寫(xiě)了一篇很有趣的博客,題為 In Defense of Not-Invented-Here Syndrome,大家可以參考看看。

  然而,如果當(dāng)大家都認(rèn)為項(xiàng)目里我們必須自己寫(xiě)點(diǎn)自己的代碼時(shí)候,那么我們最應(yīng)該提防的一件事情是什么呢?SRP 和 Connascence 真的可以幫你實(shí)現(xiàn)高內(nèi)斂的設(shè)計(jì)。如果程序不是高內(nèi)斂的,我們應(yīng)該很容易可以在里面發(fā)現(xiàn)重復(fù)的代碼(至少是概念上的重復(fù)),你也會(huì)發(fā)現(xiàn)只要在設(shè)計(jì)上選擇正確的方式進(jìn)行抽象提取就能很好的解決這種問(wèn)題。所以代碼重復(fù)和Primitive Obsession實(shí)際是相互因果的關(guān)系。

  據(jù)我的經(jīng)驗(yàn),我要補(bǔ)充一下,我曾看到過(guò)有程序并沒(méi)有多少的重復(fù),但卻非常讓人難以理解,這是為什么?所以我要提出,只要是代碼進(jìn)行了較好的抽象,它就會(huì)很容易讓人理解和易于推理出其功能。同樣,如果你試圖去消除重復(fù)的代碼,在某一程度上,這里并沒(méi)有字面上的重復(fù),但是這里卻存在一個(gè)概念上的重復(fù),那么只有對(duì)它進(jìn)行更高一級(jí)的抽象就能有效的解決這個(gè)問(wèn)題。因此我的結(jié)論是:回顧往日經(jīng)歷, Primitive Obsession 才是針對(duì)低質(zhì)量設(shè)計(jì)最大的難題,也就是所說(shuō)的最臭的臭蛋。

  【英文出處】: Biggest Stinkers

it知識(shí)庫(kù)最臭的臭彈(Biggest Stinkers),轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 欧美日本一区二区 | 国产乱码久久久 | 色播久久 | 亚洲精品国产第一综合99久久 | 黄色福利 | 操久久| 亚洲免费一区 | 免费一区 | 成人一区av偷拍 | 欧美激情在线一区二区三区 | 久久国产成人 | 日韩福利 | 91亚洲免费 | 久草在线中文888 | 日韩中文字幕在线免费 | 亚洲成人一区 | 999国产精品视频 | 国产欧美日韩一区 | 精品乱码一区二区 | 欧美free性 | 精品国产欧美一区二区三区成人 | 看毛片网站 | 综合久久一区 | 午夜精品久久久 | 国产91久久久久久 | 欧美日韩一区二区在线观看 | 亚洲欧美在线一区 | 一级高清免费毛片 | 在线中文字幕亚洲 | 亚洲欧美日本在线 | 久久久久无码国产精品一区 | 性天堂网 | 国产一区欧美 | 一区精品国产欧美在线 | 黄色亚洲 | 久久精品日产第一区二区三区 | 欧美激情网站 | 国产传媒在线观看 | 中文字幕av在线一二三区 | 欧美a级网站 | 午夜一区 |