作者: Brian W. Kernighan , Rob Pike
DOI:
关键词: Debugging 、 Software portability 、 Compiler 、 Data structure 、 Perl 、 Interface (Java) 、 Java 、 Programming language 、 AWK 、 Computer science
摘要: 1. Style. Names. Expressions and Statements. Consistency Idioms. Function Macros. Magic Numbers. Comments. Why Bother? 2. Algorithms Data Structures. Searching. Sorting. Libraries. A Java Quicksort. O-Notation. Growing Arrays. Lists. Trees. Hash Tables. Summary. 3. Design Implementation. The Markov Chain Algorithm. Structure Alternatives. Building the in C. Generating Output. Java. C++. Awk Perl. Performance. Lessons. 4. Interfaces. Comma-Separated Values. Prototype Library. Library for Others. C++ Interface Principles. Resource Management. Abort, Retry, Fail? User 5. Debugging. Debuggers. Good Clues, Easy Bugs. No Hard Last Resorts. Non-reproducible Debugging Tools. Other People's 6. Testing. Test as You Write Code. Systematic Automation. Scaffolds. Stress Tests. Tips Who Does Testing? Testing Program. 7. Bottleneck. Timing Profiling. Strategies Speed. Tuning Space Efficiency. Estimation. 8. Portability. Language. Headers Program Organization. Isolation. Exchange. Byte Order. Portability Upgrade. Internationalization. 9. Notation. Formatting Data. Regular Expressions. Programmable Interpreters, Compilers, Virtual Machines. Programs that Programs. Using Macros to Generate Compiling on Fly. Epilogue. Appendix: Collected Rules. Index. 020161586XT04062001