UNIX编程艺术 UNIX哲学
UNIX哲學起源于Ken Thompson早期關于如何設計一個服務接口簡介、小巧精干的操作系統的思考,隨著UNIX文化在學習如何盡可能發覺Thompson設計思想的過程中不斷成長,同時一路上還從其它許多地方博采眾長。
是自下而上的,注重實效,立足于豐富的經驗。
模塊原則:使用簡潔的接口拼合簡單的部件
清晰原則:清晰勝于技巧
組合原則:設計時考慮拼接組合
分離原則:策略同機制分離,接口同引擎分離
簡潔原則:設計要簡潔,復雜度能低則低
吝嗇原則:除非卻無它法,不要編寫龐大的程序
透明性原則:設計要可見,以便審查和調試
健壯原則:健壯源于透明與簡潔
表示原則:把知識疊入數據以求邏輯質樸而健壯
通俗原則:接口設計避免標新立異
緘默原則:如果一個程序沒什么好說的,就保持沉默
補救原則:出現異常時,馬上退出并給出足量錯誤信息
經濟原則:寧花機器一分,不花程序員一秒
生成原則:避免手工hack(砍、劈、猛踢、非法侵入),盡量編寫程序去生成程序
優化原則:雕琢前先得有原型,跑之前先學會走
多樣原則:決不相信所謂“不二法門”的斷言
擴展原則:設計著眼未來,未來總比預想快
第4章 模塊性:保持清晰,保持簡潔
4.1 封裝和最佳模塊大小
4.2 緊湊型和正交性
4.2.1 緊湊型
4.2.2 正交性
4.2.3 SPOT原則
Don’t Repeat Youself
真理的單點性 Single Point of Truth
4.2.4 緊湊性和強單一中心
4.2.5 分離的價值
限制不僅提倡了經濟性,而且某種程度上提倡了設計的優雅。要達到這種簡潔性,盡量不要去想一種語言或操作系統最多能做多少事情,而是盡量去想這種語言或操作系統最少能做的事情–不是帶著假想行動,而是從零開始(禪稱為“初心”(beginner’s mind)或者叫“虛心”(empty mind))。
要達到緊湊、正交的設計,就從零開始。禪教導我們:依附導致痛苦;軟件設計的經驗教導我們:依附于被人們忽略的假定將導致非正交、不緊湊的設計,項目不是失敗就是成為維護的夢魘。
禪授超然,可以得教化,去苦痛。
Unix傳統也從產生設計問題的特定、偶然的情形講授分離的價值。抽象、簡化、歸納。因為我們編制軟件是為了解決問題,所以我們不能完全超然于問題之外–但是值得費點心思,看看可以拋棄多少先入之見,看看這樣做能不能使設計變得更緊湊、更正交。這樣做下來,代碼復用經常由此變為可能。
關于Unix和禪的關系的笑話同樣也是Unix傳統中一個仍然鮮活的部分。這絕非偶然。
4.3 軟件是多層的
4.3.1 自頂向下和自底向上
4.3.2 膠合層
總結
以上是生活随笔為你收集整理的UNIX编程艺术 UNIX哲学的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java程序员面试应该准备什么?
- 下一篇: VB计算机中next是什么意思,VB程序