Preface

#Laying the Foundation

Ch 01 Welcome to Software Construction
Ch 02 Metaphors for a Richer Understanding of Software Development
Ch 03 Measure Twice, Cut Once_Upstream Prerequisites

Ch 04 Key Construction Decisions

#Creating High-Quality Code

Ch 05 Design in Construction

Ch 06 Working Classes

  • Ch 06 Class Quality Checklist

Ch 07 High-Quality Routines
Ch 08 Defensive Programming
Ch 09 The Pseudocode Programming Process

#Variables

Ch 10 General Issues In Using Variables
Ch 11 The Power of Variable Names
Ch 12 Fundamental Data Types
Ch 13 Unusual Data Types

#Statements

Ch 14 Organizing Straight-Line Code
Ch 15 Using Conditionals
Ch 16 Controlling Loops
Ch 17 Unusual Control Structures
Ch 18 Table-Driven Methods
Ch 19 General Control Issues

#Code Improvements

Ch 20 The Software-Quality Landscape
Ch 21 Collaborative Construction
Ch 22 Developer Testing
Ch 23 Debugging
Ch 24 Refactoring
Ch 25 Code-Tuning Strategies
Ch 26 Code-Tuning Techniques

#System Considerations

Ch 27 How Program Size Affects Construction
Ch 28 Managing Construction
Ch 29 Integration
Ch 30 Programming Tools

#Software Craftsmanship

Ch 31 Layout and Style
Ch 32 Self-Documenting Code
Ch 33 Personal Character
Ch 34 Themes in Software Craftsmanship