JAVA—咖啡館

          ——歡迎訪問rogerfan的博客,常來《JAVA——咖啡館》坐坐,喝杯濃香的咖啡,彼此探討一下JAVA技術,交流工作經驗,分享JAVA帶來的快樂!本網站部分轉載文章,如果有版權問題請與我聯系。

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            447 Posts :: 145 Stories :: 368 Comments :: 0 Trackbacks

          今天讀到一些UNIX下的編程哲學,對自己相當的有沖擊力,把我覺得有用并且有道理的,自己組織了一下:

          “編程的核心是數據結構,而不是算法”,即使最簡單的程序邏輯人類來驗證也很困難,但就算復雜的數據,對人類來說也相對容易推導和建模。五十個節點的指針樹要比五十行程序的流程圖更清楚。

          “編程的本質是控制復雜度”,而流程圖、過程化、結構化、面向對象以及其它方法論恰好“成功”將復雜度提升到人腦不能處理的地步。所以,降低整體復雜度的方法是用清晰的接口把若干簡單模塊組合成一個復雜軟件。

          “簡潔最美”,最錯綜復雜的美妙設計,常常使我們的設計能力超出排錯能力,結果是代價高昂的廢品。

          “接口和引擎分離”,把復雜的GUI界面與后臺處理分做兩端,中間用簡單協議架橋。

          “可見才可掌控”,軟件系統的透明性就是說,你能一眼看出它在干什么,要能監視到內部狀態。

          “撐不下去,馬上退出”,出現異常,補救措施明明又沒成功,還挺在那里,很久才發現是最壞的一種情況。要么“響亮的倒塌,要么為工作鏈下一環程序輸出一個嚴謹干凈的正確數據”。

          “過早的優化是萬惡之源”,先要求運行,再求正確,最后再求快。還不知道瓶頸就匆忙優化,是唯一一個比亂加功能更損害設計的錯誤。“最強大的優化工具是DELETE鍵”。

          “善用工具”,教會電腦生成一些簡單的代碼;一旦有人解決了某個問題,就直接拿過來用,盡可能一切都自動化。

          “寧花機器一分,不花程序員一秒”。

          綜上所述,4個字母:KISS--Keep It Simple, Stupid!


          最后,還是把UNIX哲學的17個原則完整列一下:
          1、 模塊性原則:寫簡單的,通過干凈的接口可被連接的部件。
          2、 清楚原則:清楚要比小聰明好。
          3、 合并原則:設計能被其它程序連接的程序。
          4、 分離原則:從機制分離從策略,從實現分離出接口。
          5、 簡單原則:設計要簡單;只有當你需要的時候,增加復雜性。
          6、 節儉原則:只有當被證實是清晰,其它什么也不做的時候,才寫大的程序。
          7、 透明原則:為使檢查和調試明顯更容易而設計。
          8、 健壯性原則:健壯性是透明和簡單的追隨者。
          9、 表現原則:把知識整理成資料,于是程序邏輯能變得易理解和精力充沛的。
          10、最小意外原則:在接口設計中,總是做最小意外事情。
          11、沉默原則:當一個程序令人吃驚什么也不說的時候,他應該就是什么也不說。
          12、修補補救:當你必須失敗的時候,盡可能快的吵鬧地失敗。
          13、經濟原則:程序員的時間是寶貴的;優先機器時間節約它。
          14、產生原則:避免手工堆砌;當你可能的時候,編寫可以寫程序的程序。
          15、優化原則:在雕琢之前先有原型;在你優化它之前,先讓他可以運行。
          16、差異原則:懷疑所有聲稱的“唯一真理“。
          17、可擴展原則:為將來做設計,因為它可能比你認為來的要快。

          posted on 2008-01-17 10:53 rogerfan 閱讀(375) 評論(0)  編輯  收藏 所屬分類: 【管理哲學】【成功人生】
          主站蜘蛛池模板: 威宁| 大石桥市| 文登市| 临海市| 波密县| 枝江市| 永济市| 资源县| 梨树县| 辉县市| 宁南县| 石河子市| 斗六市| 威信县| 梓潼县| 咸丰县| 大田县| 天津市| 广南县| 吴江市| 左云县| 通渭县| 安庆市| 布尔津县| 自治县| 崇明县| 贵阳市| 衡阳县| 米泉市| 正镶白旗| 桑植县| 岗巴县| 平谷区| 靖宇县| 东海县| 闵行区| 缙云县| 柳江县| 杭锦后旗| 延吉市| 大连市|