Robustness means delivering software that keeps working through edge cases and unfortunate situations, not merely producing code that works once. section 5.6
Build robustness by making validation part of development:
- Think through what could go wrong with each small unit of code. section 5.6
- Write individual tests for those cases, sometimes before writing the implementation. section 5.6
- Keep useful tests in the codebase instead of replacing them with temporary print checks. section 5.6
- Balance coding and testing rather than spending effort on implausible scenarios. section 5.6
A validation-driven team
Instead of implementing features first and testing later, a team intertwines development and testing, checking edge cases as each unit is built. section 5.6






