內(nèi)容簡介:本書是計算機科學(xué)方面的經(jīng)典名著,由計算機界極具影響力的兩位專家Brian W. Kernighan和Rob Pike合著。書的內(nèi)容圍繞程序設(shè)計實踐中的一系列問題展開,講述對于程序員有共性的知識,以幫助各程序員寫出更高效的程序。本書從排錯、測試、性能、可移植性、設(shè)計、界面、風(fēng)格和記法等方面,討論了程序設(shè)計中既具有實際意義又具有廣泛意義的思想、技術(shù)和方法。
本書值得每位夢想并努力成為程序員的人參考,值得每位計算機專業(yè)的學(xué)生和計算機工作者閱讀,也適合作為程序設(shè)計高級課程的教材或參考書。
作者簡介:Brain Kernighan計算機科學(xué)家,曾與UNIX的締造者Ken Thompson和Dennis Ritchie一起在貝爾實驗室工作。他也是AWK和AMPL程序設(shè)計語言的共同作者?!癒&R C”和“AWK”中的“K”都是指“Kernighan”。2000年起,他在普林斯頓大學(xué)計算機科學(xué)系任教授,并任本科部代表。
Rob Pike 軟件工程師。他在貝爾實驗室任職期間,作為UNIX小組成員參與開發(fā)了Plan 9和Inferno操作系統(tǒng)以及Limbo程序設(shè)計語言。目前他在Google公司工作,參與了Go和Sawzall程序設(shè)計語言的開發(fā)。
Chapter 6: Testing / 測試139
6.1 Test as You Write the Code / 一邊編碼,一邊測試140
6.2 Systematic Testing / 系統(tǒng)化測試145
6.3 Test Automation / 測試自動化149
6.4 Test Scaffolds / 測試腳手架151
6.5 Stress Tests / 壓力測試155
6.6 Tips for Testing / 測試心得158
6.7 Who Does the Testing? / 誰來測試 159
6.8 Testing the Markov Program / 馬爾可夫程序的測試160
6.9 Summary / 小結(jié)162
Chapter 7: Performance / 性能165
7.1 A Bottleneck / 瓶頸166
7.2 Timing and Profiling / 計時和剖析171
7.3 Strategies for Speed / 加速策略175
7.4 Tuning the Code / 代碼調(diào)優(yōu)178
7.5 Space Efficiency / 空間利用率182
7.6 Estimation / 評估184
7.7 Summary / 小結(jié)187
Chapter 8: Portability / 可移植性189
8.1 Language / 語言190
8.2 Headers and Libraries / 頭文件和庫196
8.3 Program Organization / 程序架構(gòu)198
8.4 Isolation / 隔離202
8.5 Data Exchange / 數(shù)據(jù)交換203
8.6 Byte Order / 字節(jié)序204
8.7 Portability and Upgrade / 可移植性和升級207
8.8 Internationalization / 國際化209
8.9 Summary / 小結(jié)212
Chapter 9: Notation / 記法215
9.1 Formatting Data / 數(shù)據(jù)格式化216
9.2 Regular Expressions / 正則表達(dá)式222
9.3 Programmable Tools / 可編程工具228
9.4 Interpreters, Compilers, and Virtual Machines / 解釋器、編譯器和虛擬機 231
9.5 Programs that Write Programs / 寫程序的程序237
9.6 Using Macros to Generate Code / 用宏生成代碼240
9.7 Compiling on the Fly / 運行中編譯241
Epilogue / 后記247
Appendix: Collected Rules / 規(guī)則匯編249