| name | applying-code-principles |
| description | Fundamental software principles - SOLID, DRY, Occam's Razor, Miller's Law, YAGNI. Triggers: 原則, シンプル, 複雑, アーキテクチャ, リファクタリング, 保守性, コード品質, design pattern, best practice, clean code |
| allowed-tools | Read, Grep, Glob |
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