本文本仅供个人学习使用。版权信息:Copyright © 2020 Pearson Education, Inc.

Table of Contents

  1. Foreword
  2. Preface to the Second Edition
    1. How the Book Is Organized
    2. What's in a Name?
    3. Source Code and Other Resources
    4. Send Us Feedback
    5. Second Edition Acknowledgments
  3. From the Preface to the First Edition
    1. Who Should Read This Book?
    2. What Makes a Pragmatic Programmer?
    3. Individual Pragmatists, Large Teams
    4. It's a Continuous Process
  4. 1. A Pragmatic Philosophy
    1. Topic 1. It's Your Life
    2. Topic 2. The Cat Ate My Source Code
    3. Topic 3. Software Entropy
    4. Topic 4. Stone Soup and Boiled Frogs
    5. Topic 5. Good-Enough Software
    6. Topic 6. Your Knowledge Portfolio
    7. Topic 7. Communicate!
  5. 2. A Pragmatic Approach
    1. Topic 8. The Essence of Good Design
    2. Topic 9. DRY—The Evils of Duplication
    3. Topic 10. Orthogonality
    4. Topic 11. Reversibility
    5. Topic 12. Tracer Bullets
    6. Topic 13. Prototypes and Post-it Notes
    7. Topic 14. Domain Languages
    8. Topic 15. Estimating
  6. 3. The Basic Tools
    1. Topic 16. The Power of Plain Text
    2. Topic 17. Shell Games
    3. Topic 18. Power Editing
    4. Topic 19. Version Control
    5. Topic 20. Debugging
    6. Topic 21. Text Manipulation
    7. Topic 22. Engineering Daybooks
  7. 4. Pragmatic Paranoia
    1. Topic 23. Design by Contract
    2. Topic 24. Dead Programs Tell No Lies
    3. Topic 25. Assertive Programming
    4. Topic 26. How to Balance Resources
    5. Topic 27. Don't Outrun Your Headlights
  8. 5. Bend, or Break
    1. Topic 28. Decoupling
    2. Topic 29. Juggling the Real World
    3. Topic 30. Transforming Programming
    4. Topic 31. Inheritance Tax
    5. Topic 32. Configuration
  9. 6. Concurrency
    1. Topic 33. Breaking Temporal Coupling
    2. Topic 34. Shared State Is Incorrect State
    3. Topic 35. Actors and Processes
    4. Topic 36. Blackboards
  10. 7. While You Are Coding
    1. Topic 37. Listen to Your Lizard Brain
    2. Topic 38. Programming by Coincidence
    3. Topic 39. Algorithm Speed
    4. Topic 40. Refactoring
    5. Topic 41. Test to Code
    6. Topic 42. Property-Based Testing
    7. Topic 43. Stay Safe Out There
    8. Topic 44. Naming Things
  11. 8. Before the Project
    1. Topic 45. The Requirements Pit
    2. Topic 46. Solving Impossible Puzzles
    3. Topic 47. Working Together
    4. Topic 48. The Essence of Agility
  12. 9. Pragmatic Projects
    1. Topic 49. Pragmatic Teams
    2. Topic 50. Coconuts Don't Cut It
    3. Topic 51. Pragmatic Starter Kit
    4. Topic 52. Delight Your Users
    5. Topic 53. Pride and Prejudice
  13. 10. Postface
  14. A1. Bibliography
  15. A2. Possible Answers to the Exercises
Copyright © 2020 Pearson Education, Inc.