PRODUCT ANNOUNCEMENT
Pearson Test Prep Practice Test access codes delivered online at registration.Learn more.
This eBook includes the following formats, accessible from yourAccountpage after purchase:
EPUBThe open industry format known for its reflowable content and usability on supported mobile devices.
PDFThe popular standard, used most often with the freeAdobe® Reader®software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Also available in其他格式.
Register your productto gain access to bonus material or receive a coupon.
With the same insight and authority that made their bookThe Unix Programming Environment一个经典的,Brian Kernighan和罗伯•派克have writtenThe Practice of Programmingto help make individual programmers more effective and productive.
The practice of programming is more than just writing code. Programmers must also assess tradeoffs, choose among design alternatives, debug and test, improve performance, and maintain software written by themselves and others. At the same time, they must be concerned with issues like compatibility, robustness, and reliability, while meeting specifications.
The Practice of Programmingcovers all these topics, and more. This book is full of practical advice and real-world examples in C, C++, Java, and a variety of special-purpose languages. It includes chapters on:
Kernighan and Pike have distilled years of experience writing programs, teaching, and working with other programmers to create this book. Anyone who writes software will profit from the principles and guidance inThe Practice of Programming.
1. Style.
Names.
Expressions and Statements.
Consistency and Idioms.
Function Macros.
Magic Numbers.
Comments.
Why Bother?
Searching.
Sorting.
Libraries.
A Java Quicksort.
O-Notation.
Growing Arrays.
Lists.
Trees.
Hash Tables.
总结。
The Markov Chain Algorithm.
Data Structure Alternatives.
Building the Data Structure in C.
Generating Output.
Java.
C++.
Awk and Perl.
Performance.
Lessons.
Comma-Separated Values.
A Prototype Library.
A Library for Others.
A C++ Implementation.
Interface Principles.
Resource Management.
Abort, Retry, Fail?
User Interfaces.
Debuggers.
Good Clues, Easy Bugs.
No Clues, Hard Bugs.
Last Resorts.
Non-reproducible Bugs.
Debugging Tools.
Other People's Bugs.
总结。
Test as You Write the Code.
Systematic Testing.
Test Automation.
Test Scaffolds.
Stress Tests.
Tips for Testing.
Who Does the Testing?
Testing the Markov Program.
总结。
一个瓶颈。
Timing and Profiling.
Strategies for Speed.
Tuning the Code.
Space Efficiency.
Estimation.
总结。
Language.
Headers and Libraries.
Program Organization.
Isolation.
Data Exchange.
Byte Order.
Portability and Upgrade.
Internationalization.
总结。
Formatting Data.
Regular Expressions.
Programmable Tools.
Interpreters, Compilers, and Virtual Machines.
Programs that Write Programs.
Using Macros to Generate Code.
Compiling on the Fly.