Books & Videos

Table of Contents

  1. Chapter 1 Introduction

    1. Why Simplicity?

    2. Software Design

  2. Chapter 2 The Purpose of Software

    1. Real-World Application

  3. Chapter 3 The Future

    1. The Equation of Software Design

    2. The Quality of Design

    3. Unforeseeable Consequences

  4. Chapter 4 Change

    1. Change in a Real-World Program

    2. The Three Flaws

    3. Incremental Development and Design

  5. Chapter 5 Defects and Design

    1. If It Ain’t Broken...

    2. Don’t Repeat Yourself

  6. Chapter 6 Simplicity

    1. Simplicity and the Equation of Software Design

    2. Simplicity Is Relative

    3. How Simple Do You Have to Be?

    4. Be Consistent

    5. Readability

    6. Simplicity Requires Design

  7. Chapter 7 Complexity

    1. Complexity and Purpose

    2. Bad Technologies

    3. Complexity and the Wrong Solution

    4. Complex Problems

    5. Handling Complexity

    6. Rewriting

  8. Chapter 8 Testing

  1. Appendix The Laws of Software Design

  2. Appendix Facts, Laws, Rules, and Definitions