Explicit over implicit
Hidden behavior, magic, and implicit coupling create bugs that take days to find:
- Make dependencies visible (injection over hidden globals)
- Name things for what they do, not how they are implemented
- Prefer clear parameter passing over ambient state