Defensive Programming

Steven Zeil

Old Dominion University, Dept. of Computer Science

Table of Contents

1. Common Assumptions
2. What to do About Assumptions?
3. Documenting Assumptions
3.1. Preconditions
3.2. Internal Assumptions
4. Guarding Assumptions
4.1. Possible Reactions
4.2. Guarding Assumptions with Assertions

Defensive programming is an approach to coding based on minimizing assumptions made by the programmer.