Fail-Fast Principle - Validation and Defensive Programming | OneNoughtOne