1.
Introduction
2.
What Are Bugs
2.1.
Consumer Input Incorrect
2.2.
Provider Output Incorrect
2.3.
Semantic Ambiguity
2.4.
Detached Parameters Incorrect
2.5.
Undesired Side Effects
2.6.
Input Restrictions Too Loose
3.
Causes of Bugs
4.
Patterns
4.1.
Strong Types
4.2.
Parse, Don't Validate
4.3.
Builder
4.4.
Option Type
4.5.
Either Type
5.
Application
6.
Conclusion
7.
Questions and Comments
Thanks
Light
Rust
Coal
Navy
Ayu
Bug Reducing Patterns
Consumer Input Incorrect
Input value doesn't comply with allowed specification.
Input format incorrect.
Able to enter "anything", so consumer assumes whatever fits is okay.