2.3.1 Defensive design

Defensive design considerations:

Anticipating misuse

Authentication

Input validation


Maintainability

Use of sub programs

Naming conventions

Indentation

Commenting