<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 楊一 閱讀(1612) 評論(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

    其他技術

    生活

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    自強不息


    用心 - 珍惜時間,勇于創造
    主站蜘蛛池模板: 午夜视频在线免费观看| 成人免费无码精品国产电影| 1000部拍拍拍18勿入免费视频下载| 国产福利在线免费| 国产亚洲一区区二区在线| 亚洲一区二区三区精品视频| 男女交性无遮挡免费视频| 亚洲免费视频观看| 亚洲日韩乱码中文无码蜜桃臀网站| 色在线亚洲视频www| 美女视频黄a视频全免费网站色窝| 国产免费私拍一区二区三区| 亚洲国产视频网站| 中国极品美軳免费观看| 日韩免费高清一级毛片在线| 亚洲AV无码一区二区三区网址 | 精品亚洲成a人片在线观看少妇 | 成人免费视频一区二区| 无码人妻一区二区三区免费| 亚洲精品午夜国产va久久| 免费A级毛片无码视频| 亚洲日韩在线观看| 日韩成人精品日本亚洲| 丁香花在线观看免费观看| 亚洲精品视频在线观看免费| 中文字幕永久免费视频| 日韩精品一区二区亚洲AV观看| 免费在线看v网址| 亚洲国产成人资源在线软件| 99久久久国产精品免费蜜臀| 亚洲一区二区三区四区视频 | 亚洲精品国产美女久久久| 美女露隐私全部免费直播| 色吊丝最新永久免费观看网站| 亚洲乱码中文字幕小综合| 国产精品免费播放| 黄色片网站在线免费观看| 亚洲国产精品无码av| 国产精品免费大片| 亚洲国产成人私人影院| 91成人在线免费视频|