HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This PDF will be accessible from your Account page after purchase and requires PDF reading software, such as Acrobat® Reader®.
The eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Straight from the programming trenches, The Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software development to examine the core process—taking a requirement and producing working, maintainable code that delights its users. It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you'll learn how to
Written as a series of self-contained sections and filled with entertaining anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best practices and major pitfalls of many different aspects of software development. Whether you're a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you'll quickly see improvements in personal productivity, accuracy, and job satisfaction. You'll learn skills and develop habits and attitudes that form the foundation for long-term success in your career. You'll become a Pragmatic Programmer.
Foreword.
Preface.
1. A Pragmatic Philosophy.
The Cat Ate My Source Code.
Software Entropy.
Stone Soup and Boiled Frogs.
Good-Enough Software.
Your Knowledge Portfolio.
Communicate!
The Evils of Duplication.
Orthogonality.
Reversibility.
Tracer Bullets.
Prototypes and Post-it Notes.
Domain Languages.
Estimating.
The Power of Plain Text.
Shell Games.
Power Editing.
Source Code Control.
Debugging.
Text Manipulation.
Code Generators.
Design by Contract.
Dead Programs Tell No Lies.
Assertive Programming.
When to Use Exceptions.
How to Balance Resources.
Decoupling and the Law of Demeter.
Metaprogramming.
Temporal Coupling.
It's Just a View.
Blackboards.
Programming by Coincidence.
Algorithm Speed.
Refactoring.
Code That's Easy to Test.
Evil Wizards.
The Requirements Pit.
Solving Impossible Puzzles.
Not Until You're Ready.
The Specification Trap.
Circles and Arrows.
Pragmatic Teams.
Ubiquitous Automation.
Ruthless Testing.
It's All Writing.
Great Expectations.
Pride and Prejudice.
Professional Societies.
Building a Library.
Internet Resources.
Bibliography.