Universal principles for building solid codebases. Language- and domain-agnostic.
Module-specific code lives in the module — and nowhere else. When adding a new variant to a system, it should be a single new file containing everything: type, implementation, registration, helpers, constants. No central dispatcher with a match arm to update. No hand-maintained registry list. No constants table to extend.
Prefer auto-discovery (build-time scanning, decorator-based registration, plugin loading) over manual lists. Adding a new variant should touch exactly one file.