285x Filetype PDF File size 1.27 MB Source: book.northwind.ir
I l@ve RuBoard
Front Matter
Table of Contents
About the Author
Pragmatic Programmer, The: From Journeyman to Master
Andrew Hunt
David Thomas
Publisher: Addison Wesley
First Edition October 13, 1999
ISBN: 0-201-61622-X, 352 pages
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:
Fight software rot;
Avoid the trap of duplicating knowledge;
Write flexible, dynamic, and adaptable code;
Avoid programming by coincidence;
Bullet-proof your code with contracts, assertions, and exceptions;
Capture real requirements;
Test ruthlessly and effectively;
Delight your users;
Build teams of pragmatic programmers; and
Make your developments more precise with automation.
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.
I l@ve RuBoard
I l@ve RuBoard
Pragmatic Programmer, The: From Journeyman to Master
Foreword
Preface
Who Should Read This Book?
What Makes a Pragmatic Programmer?
Individual Pragmatists, Large Teams
It's a Continuous Process
How the Book Is Organized
What's in a Name?
1. A Pragmatic Philosophy
The Cat Ate My Source Code
Software Entropy
Stone Soup and Boiled Frogs
Good-Enough Software
Your Knowledge Portfolio
Communicate!
Summary
2. A Pragmatic Approach
The Evils of Duplication
Orthogonality
Reversibility
Tracer Bullets
Prototypes and Post-it Notes
Domain Languages
Estimating
3. The Basic Tools
The Power of Plain Text
Shell Games
Power Editing
Source Code Control
But My Team Isn't Using Source Code Control
Source Code Control Products
Debugging
Text Manipulation
Exercises
Code Generators
4. Pragmatic Paranoia
Design by Contract
Dead Programs Tell No Lies
Assertive Programming
When to Use Exceptions
How to Balance Resources
Objects and Exceptions
Balancing and Exceptions
When You Can't Balance Resources
Checking the Balance
Exercises
5. Bend or Break
Decoupling and the Law of Demeter
Metaprogramming
Temporal Coupling
It's Just a View
Blackboards
6. While You Are Coding
Programming by Coincidence
Algorithm Speed
Refactoring
Code That's Easy to Test
Evil Wizards
7. Before the Project
The Requirements Pit
Solving Impossible Puzzles
Not Until You're Ready
The Specification Trap
Circles and Arrows
8. Pragmatic Projects
Pragmatic Teams
Ubiquitous Automation
Ruthless Testing
It's All Writing
Great Expectations
Pride and Prejudice
A. Resources
Professional Societies
Building a Library
Internet Resources
Bibliography
B. Answers to Exercises
I l@ve RuBoard
I l@ve RuBoard
Pragmatic Programmer, The: From Journeyman to Master
Many of the designations used by manufacturers and sellers to distinguish their products are
claimed as trademarks. Where those designations appear in this book, and Addison-Wesley
was aware of a trademark claim, the designations have been printed in initial capital letters or
in all capitals.
Lyrics from the song "The Boxer" on page 157 are Copyright © 1968 Paul Simon. Used by
permission of the Publisher: Paul Simon Music. Lyrics from the song "Alice's Restaurant" on
page 220 are by Arlo Guthrie, ©1966, 1967 (renewed) by Appleseed Music Inc. All Rights
Reserved. Used by Permission.
The authors and publisher have taken care in the preparation of this book, but make no
express or implied warranty of any kind and assume no responsibility for errors or omissions.
No liability is assumed for incidental or consequential damages in connection with or arising
out of the use of the information or programs contained herein.
The publisher offers discounts on this book when ordered in quantity for special sales. For
more information, please contact:
AWL Direct Sales
Addison Wesley Longman, Inc.
One Jacob Way
Reading, Massachusetts 01867
(781) 944-3700
Visit AWL on the Web: http://www.awl.com/cseng
Library of Congress Catalogtng-in-Publication Data
Hunt, Andrew, 1964–
The Pragmatic Programmer / Andrew Hunt, David Thomas.
p. cm.
Includes bibliographical references.
ISBN 0-201-61622-X
1. Computer programming. I. Thomas, David, 1956– .
no reviews yet
Please Login to review.