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