UNIX编程艺术-艾瑞克.S.理曼德
生活随笔
收集整理的這篇文章主要介紹了
UNIX编程艺术-艾瑞克.S.理曼德
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
總結(jié)
本書主要介紹了Unix系統(tǒng)領(lǐng)域中的設(shè)計(jì)和開發(fā)哲學(xué)、思想文化體系、原則與經(jīng)驗(yàn),由公認(rèn)的Unix編程大師、開源運(yùn)動(dòng)領(lǐng)袖人物之一Eric S.Raymond傾力多年寫作而成
摘錄:
1. 原則 1:你無(wú)法斷定程序會(huì)在什么地方耗費(fèi)運(yùn)行時(shí)間。瓶頸經(jīng)常出現(xiàn)在想不到的地方,所以別急于胡亂找個(gè)地方改代碼,除非你已經(jīng)證實(shí)那兒就是瓶頸所在。
2. 原則 2:估量。在你沒(méi)對(duì)代碼進(jìn)行估量,特別是沒(méi)找到最耗時(shí)的那部分之前,別去優(yōu)化速度。
3. 原則3:花哨的算法在n 很小時(shí)通常很慢,而n通常很小。花哨算法的常數(shù)復(fù)雜度很大。除非你確定n總是很大,否則不要用花哨算法(即使n很大,也優(yōu)先考慮原則2)。
4. 原則4:花哨的算法比簡(jiǎn)單算法更容易出bug、更難實(shí)現(xiàn)。盡量使用簡(jiǎn)單的算法配合簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)。
5. 原則 5:數(shù)據(jù)壓倒一切。如果已經(jīng)選擇了正確的數(shù)據(jù)結(jié)構(gòu)并且把一切都組織得井井有條,正確的算法也就不言自明。編程的核心是數(shù)據(jù)結(jié)構(gòu),而不是算法[7]。
6. 原則6:沒(méi)有原則6。
1. 模塊原則:使用簡(jiǎn)潔的接口拼合簡(jiǎn)單的部件。
2. 清晰原則:清晰勝于機(jī)巧。
3. 組合原則:設(shè)計(jì)時(shí)考慮拼接組合。
4. 分離原則:策略同機(jī)制分離,接口同引擎分離。
5. 簡(jiǎn)潔原則:設(shè)計(jì)要簡(jiǎn)潔,復(fù)雜度能低則低。
6. 吝嗇原則:除非確無(wú)它法,不要編寫龐大的程序。
7. 透明性原則:設(shè)計(jì)要可見,以便審查和調(diào)試。
8. 健壯原則:健壯源于透明與簡(jiǎn)潔。
9. 表示原則:把知識(shí)疊入數(shù)據(jù)以求邏輯質(zhì)樸而健壯。
10. 通俗原則:接口設(shè)計(jì)避免標(biāo)新立異。
11. 緘默原則:如果一個(gè)程序沒(méi)什么好說(shuō)的,就沉默。
12. 補(bǔ)救原則:出現(xiàn)異常時(shí),馬上退出并給出足夠錯(cuò)誤信息。
13. 經(jīng)濟(jì)原則:寧花機(jī)器一分,不花程序員一秒。
14. 生成原則:避免手工hack,盡量編寫程序去生成程序。
15. 優(yōu)化原則:雕琢前先要有原型,跑之前先學(xué)會(huì)走。
16. 多樣原則:決不相信所謂“不二法門”的斷言。
17. 擴(kuò)展原則:設(shè)計(jì)著眼未來(lái),未來(lái)總比預(yù)想來(lái)得快。
總結(jié)
以上是生活随笔為你收集整理的UNIX编程艺术-艾瑞克.S.理曼德的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 一个都不能少:全面认识IE插件
- 下一篇: ftp文件下载工具,四款超级好用的ftp