← All Quizzes
What is defensive programming and what are its key principles?
Explanation
Defensive programming is an approach that anticipates failures and writes code to handle unexpected inputs, states, and conditions gracefully. Key principles include: validating all inputs, using assertions for invariants, handling edge cases explicitly, failing fast on invalid states, avoiding assumptions about external systems, and using meaningful error messages. The goal is robustness and security, trading some performance for reliability. Balance is important: excessive defensiveness can make code harder to maintain.