| AV0100 |
Understand the logical and physical boundaries of your codebase; cross-boundary communication must go through well-defined contracts. |
| AV0105 |
Use design patterns to communicate intent (Repository, Factory, Strategy, etc.). |
| AV0110 |
Prefer composition over inheritance; reserve inheritance for true “is-a” relationships. |
| AV0112 |
Apply the Principle of Least Surprise: name things predictably, avoid hidden side effects, follow platform conventions. |
| AV0115 |
Keep It Simple (KISS): the simplest solution that fully solves the problem is almost always the best. |
| AV0120 |
You Ain’t Gonna Need It (YAGNI): build what is needed now, not what might be needed someday. |
| AV0125 |
Don’t Repeat Yourself (DRY) within a bounded context; allow limited duplication across boundaries to avoid coupling. |
| AV0130 |
Apply the four pillars of OOP (encapsulation, abstraction, inheritance, polymorphism) as tools, not goals. |
| AV0135 |
Treat AI-generated code as your own: review, understand, and verify every line before committing it. |