Assert — Assertion Patterns Reference
Quick-reference skill for assertion techniques, design-by-contract, and defensive programming patterns.
When to Use
- Writing precondition checks for function inputs
- Implementing class invariants and postconditions
- Choosing between assertions and exceptions
- Applying design-by-contract methodology
- Understanding assertion behavior across languages
Commands
intro
scripts/script.sh intro
Overview of assertions — purpose, philosophy, and when to use them vs exceptions.
preconditions
scripts/script.sh preconditions
Precondition patterns: validating inputs, guard clauses, and fail-fast design.
postconditions
scripts/script.sh postconditions
Postcondition patterns: validating outputs and return value contracts.
invariants
scripts/script.sh invariants
Class and loop invariants — maintaining consistent state throughout execution.
languages
scripts/script.sh languages
Assertion syntax and behavior in Python, Java, C, JavaScript, Rust, Go.
contracts
scripts/script.sh contracts
Design-by-contract methodology — Bertrand Meyer's approach and modern implementations.
antipatterns
scripts/script.sh antipatterns
Common assertion mistakes: side effects, catching AssertionError, using in production flow.
strategies
scripts/script.sh strategies
Assertion strategies for different contexts: unit tests, production code, APIs, libraries.
help
scripts/script.sh help
version
scripts/script.sh version
Powered by BytesAgain | bytesagain.com | hello@bytesagain.com