Kief Morris uses four distinct terms throughout the book. Knowing the distinctions prevents conflating them:
**Principle** — a rule that helps you _choose_ between potential solutions. Principles are normative; they don't tell you what to build, they tell you how to evaluate options.
**Practice** — a way of implementing something. Multiple practices can satisfy the same requirement; use principles to select the most appropriate one for your context.
**Pattern** — a potential solution to a problem. Described in a structured format so you can evaluate its relevance before applying it. Not universally correct — context determines fit.
**Antipattern** — a solution that seems attractive but should be avoided in most situations. Usually adopted because it feels intuitive or familiar, not because it works.
The hierarchy: principles guide practice selection; patterns and antipatterns are the concrete forms practices take.
---
*Source: [[Infrastructure as Code, 3rd Edition — Kief Morris]] (Kief Morris, O'Reilly 2025) — Preface*