Skill: Domain Thinking
"Humans think in categories. Our code should be a reflection of that."
The Standard
- Business Language: Name things as the client names them. Not technical jargon.
- Group by Domain:
Invoicing/,Shipping/, notModels/,Controllers/. - Translate, Don't Dictate: Your job is translator between business and code.
The Check
Ask yourself:
- Would a domain expert recognize this folder structure?
- Can I explain this class name to a non-developer?
- Does the code reflect how the business actually works?
The Protocol
- Listen: Spend time with domain experts. Hear their language.
- Map: Create glossary of domain terms. Use them consistently.
- Structure: Group code by business domain, not technical layer.
- Evolve: Domains change. Refactor structure as understanding deepens.
Real-World Examples
See examples.md.