Code Principles
Claude knows all principles. This file defines project-specific thresholds and priority.
Priority Order
When principles conflict:
- Safety First - Security, data integrity
- YAGNI - Don't build what you don't need
- Occam's Razor - Simplest solution
- SOLID - For complex systems
- DRY - Eliminate duplication (not at cost of clarity)
- Miller's Law - Respect 7±2 cognitive limit
Quick Decision Questions
- "Is there a simpler way?" (Occam's Razor)
- "Understandable in <1 min?" (Miller's Law)
- "Duplicating knowledge?" (DRY)
- "Needed now?" (YAGNI)
- "Single reason to change?" (SOLID/SRP)
Thresholds
Miller's Law
| Target | Ideal | Max | Limit |
|---|---|---|---|
| Function args | 3 | 5 | 7 |
| Class methods | 5 | 7 | 9 |
| Conditionals | 3 | 5 | 7 |
DRY
- Rule of Three: Abstract on 3rd duplication
SOLID
- Create interface only when 2nd implementation appears
- No single-implementation interfaces
YAGNI
Before adding, confirm:
- Problem exists now? → No = don't build
- Failed in production? → No = no error handling yet
- User requested? → No = no feature yet
- Measured evidence? → No = no optimization yet