The CHECKS Pattern Language of Information Integrity
In 1994, Ward Cunningham brought his CHECKS Pattern Language of Information Integrity to the first software-patterns conference — Pattern Languages of Programming, or PLoP (see Chapter 5). This language contains ten patterns for telling good input from bad. It also describes recording the fact that the input was bad and continuing processing even with the bad input. The methods are designed to make the checks without overly complicating your program or making them inflexible for future changes.
The ten patterns included in the language are
- Whole Value
- Exceptional Value
- Meaningless Behavior
- Echo Back
- Visible Implication
- Deferred Validation
- Instant Projection
- Hypothetical Publication
- Forecast Confirmation
- Diagnostic Query
CHECKS appears in Pattern Languages of Program Design, by James O. Coplien and Douglas C. Schmidt (Addison-Wesley). A version of CHECKS is available on the web at www.c2.com/ppr/checks.html.

I include a language of ten patterns here because CHECKS is an early example of a small number of patterns that work together to solve a problem powerfully. Better yet, it's still useful!
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access