Asserting Pre-Condition And Invariants
Definition:
Using the same API to express pre-conditions (i.e. argument validation), post-conditions, invariants, and assertions.
Code Example:
public void Parse(string input) {
// pre-condition
Debug.Assert(input != null, "invalid argument");
...
// invariant
Debug.Assert(condition, "this should not happen");
}
References:
Quality attributes
- Code Example
- Cause and Effect
- Frequency
- Refactoring