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

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

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

    狂奔 lion

    自強不息

    編程的6個原則

    原作:Joseph Ottinger, 來自近日的theServerSide,本文是譯文。

    原作網址:http://www.theserverside.com/news/thread.tss?thread_id=42598


    Empathy Boxblog中介紹了編程應該注意的5個問題,這篇文章實際表述了編程時應引起注意的很重要的6個思想:


    快速失敗;寫更少的代碼(不要讓自己重復);程序是寫給人看的;做正確的事情;消減狀態;了解你的“創造”

    fail fast, write less code (and don't repeat yourself), computer programs are for people, do the right thing, reduce state, and know your 'stuff.'


    快速失敗:當程序出現問題時,產生大的、可見的、不可忽視的異常。以防止不明顯的bug一遍遍逃過QA的檢查。把隱藏在深處的問題暴露出來。


    寫更少的代碼(似乎是理所當然的):去除冗余,即把程序所要解決的問題展示得更加清晰、明了。


    程序是寫給人看的:即“學識編程”(Literate Programming),我們程序的讀者是其他的人而不是編譯器。我們知道c/java/lisp/haskell這些編程語言并不比簡單的匯編更加強大,之所以我們使用它們,是因為它們的表述更加清晰,更不容易范些低級的錯誤。沒有任何一個程序能做到只能用一種書寫,而不能用另一種,而且,這些語句,最終都要被翻譯成機器指令(有些在運行期,有些在編譯期,不過都不重要),如此說來,我們使用高級程序設計語言的唯一理由就是——和人進行交流。Don Knuth寫下了這個想法,并把它命名為“Literate Programming”,他還設計了一個叫WEB的系統,他的想法非常出色,但他的實現卻很糟糕。他的想法是:在程序中加入一篇說明程序是如何運行的的文章。


    做正確的事情:實際編程去讓正確的程序去做正確的事情,而不是寫一個看似正常工作程序。
    我知道最佳的解決方案,但需要改變許多東西。在我的經驗里,經常有讓你做錯誤事情的機會:計劃、經理、合作者,甚至是參與到項目中來的客戶,這些群體都想盡快看到你的可以工作的程序,他們并不關系你是如何寫這些程序的。但除了事實上寫這些程序的程序員外,沒有人知道,在編碼過程中所作的權衡、割舍。然后隱藏在代碼背后的問題就會像圣誕節的幽靈一樣以P0 bugs的形式出現(P0 bug:致命缺陷——譯者注)。最終,我不得不頂著上面巨大的壓力,帶給公司更多的花費。讓早就該做好的程序去做正確的事情。


    消減狀態:即簡化代碼,尤其要注意并發的情況,這時會出現如:x.equals(x)這樣的奇怪代碼,而且在一些特殊的情況下會返回false,當然,這取決于x.equals(Object)是怎樣編碼的。


    了解你的“創造”:正如可工作的解決方案總是你嘗試的最后一個解決方案一樣,無法診斷的bug總是存在于你還不了解的軟件層中。你必須去了解直接包裹在你代碼周圍的那些層——對于大多數程序員來說,這可能意味著要從操作系統開始。如果你從事底層編程,你很可能還要了解一些計算機體系結構。但這個觀點比直接找到隱藏的bug要大,主要用來清除那些不易解決的問題,一個了解操作系統內核的人,一定有能力去解決他們遇到的絕大多數問題。



     @2008 楊一. 版權所有. 保留所有權利

    posted on 2006-10-13 22:03 楊一 閱讀(1611) 評論(2)  編輯  收藏 所屬分類: Other Tech

    評論

    # re: 編程的6個原則 2006-10-13 22:34 馬嘉楠

    這個是要頂要收藏的,^+^  回復  更多評論   

    # re: 編程的6個原則 2006-10-18 15:28 123bingbing

    增開7群,號碼 30440732
    8群 30756649
    9群 30178567
    10群 28694497

    我們的qq群:15096318 學習程序的都可以來
      回復  更多評論   

    <2006年10月>
    24252627282930
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234

    導航

    公告

    本人在blogjava上發表的文章及隨筆除特別聲明外均為原創或翻譯,作品受知識產權法保護并被授權遵從 知識分享協議:署名-非商業性使用-相同方式共享 歡迎轉載,請在轉載時注明作者姓名(楊一)及出處(www.tkk7.com/yangyi)
    /////////////////////////////////////////
    我的訪問者

    常用鏈接

    留言簿(5)

    隨筆分類(55)

    隨筆檔案(55)

    相冊

    Java

    其他技術

    生活

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    自強不息


    用心 - 珍惜時間,勇于創造
    主站蜘蛛池模板: 婷婷亚洲综合五月天小说| 久久国产亚洲精品麻豆| 亚洲18在线天美| 精品福利一区二区三区免费视频 | 一区二区在线免费视频| 免费少妇a级毛片人成网| 日韩精品亚洲专区在线影视| 国产精品免费视频网站| 特级毛片全部免费播放| 精品国产日韩亚洲一区| 免费精品久久天干天干| 亚洲欧洲日产国码www| 毛片免费观看网址| 亚洲av无码成人精品区一本二本| 国产成人免费片在线观看| a级毛片免费观看在线| 亚洲va久久久噜噜噜久久男同 | 在线看片免费人成视频播| 精品亚洲成AV人在线观看| 午夜国产精品免费观看| 亚洲av无码专区在线电影天堂| 全黄a免费一级毛片人人爱| 国产精品99爱免费视频| 亚洲精品资源在线| 成人免费在线观看网站| 国产黄在线观看免费观看不卡| 337p日本欧洲亚洲大胆艺术| 成年女人免费v片| 国产精品综合专区中文字幕免费播放| 国产亚洲精久久久久久无码| 亚洲综合免费视频| 美女黄频免费网站| 7777久久亚洲中文字幕蜜桃| 国产免费变态视频网址网站| 成全视频免费观看在线看| 亚洲一卡2卡3卡4卡乱码 在线| 在线a亚洲v天堂网2018| 在线日本高清免费不卡| 青青免费在线视频| 亚洲精品国产电影午夜| 666精品国产精品亚洲|