Unix哲學基礎

版本1

  1. 讓每個程序就做好一件事。如果有新任務,就重新開始谦絮,不要往原程序中加入新功能而搞得復雜。
  2. 假定每個程序的輸出都會成為另一個程序的輸入洁仗,哪怕那個程序還是未知的层皱。輸出中不要有無關的信息干擾。避免使用嚴格的分欄格式和二進制個數(shù)輸入赠潦。不要堅持使用交互性輸入叫胖。
  3. 盡可能早地將設計和編譯的軟件投入試用,哪怕時操作系統(tǒng)也不例外她奥,理想情況下瓮增,應該時在幾星期內(nèi)。對拙劣的代碼別猶豫方淤,扔掉重寫钉赁。
  4. 優(yōu)先試用工具而不是拙劣的幫助來減輕編程任務的負擔。工欲善其事携茂,必先利其器你踩。

總結(jié):Unix哲學時這樣的:一個程序只做一件事,并做好讳苦。程序要能協(xié)作带膜。程序要能處理文本流,因為這是最通用的接口鸳谜。

版本2

  1. 你無法判定程序會在什么地方耗費運行時間膝藕。瓶頸經(jīng)常出現(xiàn)在想不到的地方,所以別急于胡亂找個地方改代碼咐扭,除非你已經(jīng)證實那兒就是瓶頸所在芭挽。
  2. 估量。在你沒對代碼進行估量蝗肪,特別時沒找到最耗時的那部分之前袜爪,別去優(yōu)化速度。
  3. 花哨的算法在n很小時通常很慢薛闪,而n通常很小辛馆。花哨算法的常數(shù)復雜度很大豁延。除非你確定n總是很大昙篙,否則不要用花哨算法(即使n很大腊状,也優(yōu)先考慮原則2)。
  4. 花哨的算法比簡單算法更容易出bug苔可、更難實現(xiàn)缴挖。盡量試用簡單的算法配合簡單的數(shù)據(jù)結(jié)構(gòu)。(拿不準就窮舉)
  5. 數(shù)據(jù)壓倒一切硕蛹。如果已經(jīng)選擇了正確的數(shù)據(jù)結(jié)構(gòu)并且把一切都組織的井井有條醇疼,正確的算法也就不言而明。編程的核心時數(shù)據(jù)結(jié)構(gòu)法焰,而不是算法秧荆。
  6. 沒有原則6。

版本3

  1. 模塊原則:使用簡潔的接口拼合簡單的部件埃仪。
  2. 清晰原則:清晰勝于技巧乙濒。
  3. 組合原則:設計時考慮拼接組合。
  4. 分離原則:策略同機制分離卵蛉,接口同引擎分離颁股。
  5. 簡潔原則:設計要簡潔,復雜度能低則低傻丝。
  6. 吝嗇原則:除非確無他法甘有,不要編寫龐大的程序。
  7. 透明性原則:設計要可見葡缰,以便審查和調(diào)試亏掀。
  8. 健壯原則:健壯源于透明與簡潔。
  9. 表示原則:把知識疊入數(shù)據(jù)以求邏輯質(zhì)樸而健壯泛释。
  10. 通俗原則:接口設計避免標新立異滤愕。
  11. 緘默原則:如果一個程序沒什么好說的,就沉默怜校。
  12. 補救原則:出現(xiàn)異常時间影,馬上退出并給出足夠錯誤信息。
  13. 經(jīng)濟原則:寧花機器一分茄茁,不花程序員一秒魂贬。
  14. 生成原則:避免手工hack,盡量編寫程序去生成程序裙顽。
  15. 優(yōu)化原則:雕琢前先要有原型付燥,跑之前先學會走。
  16. 多樣原則:絕不相信所謂的“不二法門”的斷言锦庸。
  17. 擴展原則:設計著眼未來机蔗,未來總比預想來的塊蒲祈。

Unix哲學之一言以蔽之

kiss-Keep It Simple, Stupid!

應用Unix哲學(一些例子)

  • 只要可行甘萧,一切都應該做成與來源和目標無關的過濾器
  • 數(shù)據(jù)流盡可能文本化(這樣可以使用標準工具來查看和過濾)
  • 數(shù)據(jù)庫部署和應用協(xié)議盡可能文本化(讓人可以閱讀和編輯)
  • 復雜的前端(用戶界面)和后端應該涇渭分明
  • 當且僅當只用一門語言編程會提高程序復雜度時萝嘁,混用語言編程才比單一語言編程來得好
  • 寬收嚴發(fā)(對接收的東西要包容,對輸出的東西要嚴格)
  • 過濾時扬卷,不需要丟失的信息決不丟
  • 小就是美牙言。在確保完成任務的基礎上,程序功能盡可能少怪得。

UNIX編程藝術

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末咱枉,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子徒恋,更是在濱河造成了極大的恐慌蚕断,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件入挣,死亡現(xiàn)場離奇詭異亿乳,居然都是意外死亡,警方通過查閱死者的電腦和手機径筏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門葛假,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人滋恬,你說我怎么就攤上這事聊训。” “怎么了恢氯?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵带斑,是天一觀的道長。 經(jīng)常有香客問我酿雪,道長遏暴,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任指黎,我火速辦了婚禮朋凉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘醋安。我一直安慰自己杂彭,他們只是感情好,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布吓揪。 她就那樣靜靜地躺著亲怠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪柠辞。 梳的紋絲不亂的頭發(fā)上团秽,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機與錄音,去河邊找鬼习勤。 笑死踪栋,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的图毕。 我是一名探鬼主播夷都,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼予颤!你這毒婦竟也來了囤官?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤蛤虐,失蹤者是張志新(化名)和其女友劉穎党饮,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體驳庭,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡劫谅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了嚷掠。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捏检。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖不皆,靈堂內(nèi)的尸體忽然破棺而出贯城,到底是詐尸還是另有隱情,我是刑警寧澤霹娄,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布能犯,位于F島的核電站,受9級特大地震影響犬耻,放射性物質(zhì)發(fā)生泄漏踩晶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一枕磁、第九天 我趴在偏房一處隱蔽的房頂上張望渡蜻。 院中可真熱鬧,春花似錦计济、人聲如沸茸苇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽学密。三九已至,卻和暖如春传藏,著一層夾襖步出監(jiān)牢的瞬間腻暮,已是汗流浹背彤守。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留哭靖,地道東北人遗增。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像款青,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子霍狰,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 前言 Unix是開源運動歷史上最著名的代表之一抡草,而如今前端是開源運動中最活躍的一支隊伍,我相信它們兩者之間一定有共...
    云峰yf閱讀 3,174評論 0 6
  • 本文把程序員所需掌握的關鍵知識總結(jié)為三大類19個關鍵概念蔗坯,然后給出了掌握每個關鍵概念所需的入門書籍康震,必讀書籍,以及...
    dle_oxio閱讀 11,097評論 6 244
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,071評論 25 707
  • 一課程名稱:求人不如求己宾濒。 二活動流程: 1熱場:游戲擊鼓傳花腿短,撿到花的那一位,回答問題答對了绘梦,給一個小禮品橘忱。 2...
    感恩的_279d閱讀 202評論 0 0
  • 梳理筆記: 很多人創(chuàng)業(yè)時钝诚,很少考慮自己創(chuàng)辦企業(yè)的商業(yè)模式。 一個企業(yè)若能長期持續(xù)地賺錢榄棵,那么其背后的商業(yè)模式其實從...
    來是春初閱讀 767評論 0 0