關於Unix哲學

http://www.ruanyifeng.com/blog/2009/06/unix_philosophy.htmlhtml

這幾天,我在看Unix,發現不少人在談"Unix哲學",也就是開發Unix系統的指導思想。前端

Wikipedia上列出了好幾個版本,不一樣的人有不一樣的總結。發明管道命令的Doug McIlroy總結了三條,而Eric S. Raymond則在The Art of Unix Programming一書中,一口氣總結了17條(英文版中文版)。編程

可是我發現,全部人都贊成,"簡單原則"----儘可能用簡單的方法解決問題----是"Unix哲學"的根本原則。這也就是著名的KISS(keep it simple, stupid),意思是"保持簡單和笨拙"。後端

下面就是我對"簡單原則"的筆記。若是你想最簡單地完成一項編程任務,我認爲能夠從四個方面入手:工具

1. 清晰原則。性能

代碼要寫得儘可能清晰,避免晦澀難懂。清晰的代碼不容易崩潰,並且容易理解和維護。重視註釋。不爲了性能的一丁點提高,而大幅增長技術的複雜性,由於複雜的技術會使得往後的閱讀和維護更加艱難。優化

2. 模塊原則。.net

每一個程序只作一件事,不要試圖在單個程序中完成多個任務。在程序的內部,面向用戶的界面(前端)應該與運算機制(後端)分離,由於前端的變化每每快於後端。unix

3. 組合原則。htm

不一樣的程序之間經過接口相連。接口之間用文本格式進行通訊,由於文本格式是最容易處理、最通用的格式。這就意味着儘可能不要使用二進制數據進行通訊,不要把二進制內容做爲輸出和輸入。

4. 優化原則。

在功能實現以前,不要考慮對它優化。最重要的是讓一切先可以運行,其次纔是效率。"先求運行,再求正確,最後求快。"(Make it run, then make it right, then make it fast.)90%的功能如今能實現,比100%的功能永遠實現不了強。先作出原型,而後找出哪些功能沒必要實現,那些不用寫的代碼顯然無需優化。目前,最強大的優化工具恐怕是Delete鍵。

相關文章
相關標籤/搜索