Software Design/Practice

This page contains a template for practice articles in the Software Design project. This template describes all possible sections, but some sections may be irrelevant for some specific practices. Sections might also be missing because articles are incomplete.

Checklist questions:
 * A question that if asked during a code review provokes following the practice
 * Another question

Example 1
An example may include code (see also Programming language of examples), or just describe the situation when the practice could be applied in prose.

Why
This section enumerates the benefits of applying the practice, in terms of software qualities.

Why not
This section enumerates the drawbacks applying the practice or the benefits of applying a reverse practice if there is no separate article for that reverse practice yet, in terms of software qualities.

Static enforcement
If the practice can be enforced using some tools for automated code analysis, they are listed in this section.

Tool 1
Reference to the specific rule (pattern) in the tool checking the practice.

Related

 * Related practice 1
 * Related practice 2
 * Related refactoring
 * Related convention