1. 程式人生 > >舊聞系列-Unix程式設計哲學

舊聞系列-Unix程式設計哲學

寫在前面

這應該是大學期間讀的第一本作業系統方面的書,剛開始接觸程式設計時覺得搞作業系統才是最牛X的,所以和同學一起去圖書館找書,出來各種Windows操作圖書,就找到一般Unix程式設計哲學感覺可以作為小說看看。

Unix程式設計哲學

關於Unix程式設計哲學相信大家或多或少多個角度都瞭解或聽到過一些。

比如Kiss:keep it simple, stupid

"簡單原則"----儘量用簡單的方法解決問題----是"Unix哲學"的根本原則,也是被更多人認可的,以至於在設計模式這種微觀角度或者應用架構涉及這種巨集觀角度,Kiss依然是最被遵守和依賴的原則,比如面對複雜應用場景設計而採用的DDD模式,根本上也是通過結構分割和再組織實現的kiss的目的。

遵守Kiss的好處是:

  1. 清晰原則。

程式碼要寫得儘量清晰,避免晦澀難懂。清晰的程式碼不容易崩潰,而且容易理解和維護。重視註釋。不為了效能的一丁點提升,而大幅增加技術的複雜性,因為複雜的技術會使得日後的閱讀和維護更加艱難。

  1. 模組原則。

每個程式只做一件事,不要試圖在單個程式中完成多個任務。在程式的內部,面向使用者的介面(前端)應該與運算機制(後端)分離,因為前端的變化往往快於後端。

  1. 組合原則。

不同的程式之間通過介面相連。介面之間用文字格式進行通訊,因為文字格式是最容易處理、最通用的格式。這就意味著儘量不要使用二進位制資料進行通訊,不要把二進位制內容作為輸出和輸入。

  1. 優化原則。

在功能實現之前,不要考慮對它優化。最重要的是讓一切先能夠執行,其次才是效率。"先求執行,再求正確,最後求快。"(Make it run, then make it right, then make it fast.)90%的功能現在能實現,比100%的功能永遠實現不了強。先做出原型,然後找出哪些功能不必實現,那些不用寫的程式碼顯然無需優化。目前,最強大的優化工具