SOLID DRY KISS YAGNI
Coding principles/judgment calls: SOLID, DRY vs WET, KISS, YAGNI, Separation of Concerns — the 'taste' layer of writing code.
Why we need this / what value this brings
These principles are the difference between code that's easy to change later and code that calcifies — but taken too far in either direction (over-abstraction vs duplication) they backfire.
When to use this
Apply DRY only after seeing genuine duplication at least twice (rule of three); apply YAGNI/KISS by default, every time you're tempted to build for a hypothetical future need.
How to use or implement this
When reviewing code, ask 'does this abstraction pay for itself yet' before adding one, and 'would deleting this duplication actually simplify things' before removing it.
Research questions
- Where has premature abstraction (violating YAGNI/WET) actually shown up in the codebase vs genuinely reusable logic?
Empty folder — drop notes, links, and findings here as you research.