<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    代碼的衛生、習慣及其它...

    最近忙,發現家里開始臟亂差了。仔細想想,其實之所以會這樣,
    是因為經常發現有點臟的地方,也懶得動,總是想等到啥時候大掃除
    一下子全部清理干凈。后來地面越來越臟,就越來越不注意,進入了
    一個惡性循環。

    不禁聯想到“破窗戶”理論,有個破窗戶的社區,會逐漸變得不適合居住。
    又想到一個經常看到的現象,如果一個電線桿下有一包垃圾,只要清理
    不及時,過段時間,這個電線桿就會變成一個垃圾堆。

    扯這么多,其實想說的是代碼的衛生。代碼,剛開始都是很干凈的,只是
    隨著時間推移,隨手亂扔的果皮紙屑逐漸增多,最后開始發臭,然后這個
    代碼就沒有人愿意去碰了。在項目中,經常碰到這樣的情況。同樣的功能,
    哪怕以前曾經有人寫過,很多人還是傾向于自己重頭開始寫。原因是什么?
    程序員只信任自己的代碼,這是其中的一個原因。另一個原因是,以前的
    代碼確實有個需要學習上手的時間。打個比方,一間房子,不適合居住,需要
    進行一番打掃才能住進去,這就是已有代碼。而新的代碼,則是程序員親手
    壘起來,親手裝修的,雖然耗時長,辛苦,但是心理感覺好。但是呢,這個
    新房子對于其它程序員來說,已經時一個堆滿垃圾不適合居住的舊房子了。
    于是,每個程序員都親手建一個房子,如此重復下去。

    那么,要避免這種無意義的重復勞動,一方面是程序員本身意識的糾正。打掃
    一個舊房子,雖然臟一點,但是通常比新建一個房子還是要快和省力。另一個
    方面,程序員應該有這樣的信念,不能讓自己的代碼變成垃圾堆。也就是說,
    不能容忍自己的代碼中堆滿垃圾。

    如何避免代碼成為垃圾堆?個人認為,就象“破窗戶”理論一樣,不能對破了
    的窗戶聽之任之,而要盡快修復。否則的話,其他人看到第一袋垃圾在這里,
    覺得扔第二袋垃圾就沒有罪惡感,至少罪惡感不那么強。大家可以想象一下,
    在一個窗明幾亮的環境中,你扔果皮紙屑之前都會三思。但是站在一個垃圾堆
    上面,你扔垃圾之前就不會有什么顧慮了。因此,保持衛生的一個好習慣就是,
    不放過第一個垃圾。

    當然,如果判別某段代碼是不是垃圾,或者及時發現第一段垃圾代碼,那就是
    另一個話題,例如用ut,用code review,等等。《Working Effectively with Legacy Code》
    這本書里面,提到了Legacy code 的定義:

    Code without tests is bad code. It doesn't matter how well written it is;
    it doesn't matter how pretty or object-oriented or well-encapsulated it is.
    With tests, we can change the behavior of our code quickly and verifiably.
    Without them, we really don't know if our code is getting better or worse.

    有人會覺得我管的太細,不揪架構、設計,反而去管代碼,只見樹木不見森林。我個人
    的看法,架構、設計再好,都需要代碼來進行實現。如果這個基礎沒打好,以后這個
    代碼總是會變成無人想碰的垃圾堆。

    當然,我也反對無意義的追求完美。我不是個有潔癖的人,所以,代碼到什么程度就算是
    干凈的了?我個人的看法是,Clean code that works。當然這一點其實不容易達到,但是
    做為一個程序員,我還是努力去追求這一點的。

    主站: http://blogsite.3322.org/jspwiki/
    posted on 2006-04-03 10:27 SimonLei 閱讀(1086) 評論(1)  編輯  收藏
    評論
    • # re: 代碼的衛生、習慣及其它...
      pet
      Posted @ 2006-04-06 11:13
      深有同感,最近一直在改別人的代碼,才發現干凈的代碼和結構有多重要。  回復  更多評論   

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    統計

    主站蜘蛛池模板: 黑人粗长大战亚洲女2021国产精品成人免费视频 | 免费在线一级毛片| 亚洲 欧洲 视频 伦小说| 91制片厂制作传媒免费版樱花 | 日韩免费无码一区二区视频| 亚洲中文字幕AV在天堂| 久久精品免费全国观看国产| 亚洲日韩国产精品乱-久| 好男人www免费高清视频在线| 亚洲综合伊人制服丝袜美腿| 无码高潮少妇毛多水多水免费| 亚洲一区二区无码偷拍| 韩国日本好看电影免费看| 色偷偷亚洲第一综合网| 日韩精品电影一区亚洲| 皇色在线免费视频| 久久亚洲精品成人| av免费不卡国产观看| 中国亚洲呦女专区| 免费观看日本污污ww网站一区| 一级毛片在播放免费| 亚洲V无码一区二区三区四区观看| 最近中文字幕完整版免费高清| 亚洲国产美女在线观看| 四色在线精品免费观看| xvideos永久免费入口| 久久精品国产亚洲AV果冻传媒| 2021久久精品免费观看| 久久亚洲精品高潮综合色a片| 亚洲人AV永久一区二区三区久久| 国产在线精品观看免费观看| 亚洲色图国产精品| 天天干在线免费视频| 粉色视频在线观看www免费| 亚洲欧洲日产国码无码久久99| 四虎免费影院ww4164h| 色妞www精品视频免费看| 亚洲AV无码一区东京热| 无码日韩人妻av一区免费| 在线观看国产一区亚洲bd| 亚洲国产成人一区二区精品区|