architecture/separation-of-concerns

separation of concerns Shipped

What this lens looks for

Each module has one reason to change; if describing what a module does requires "and," consider splitting; applies at every scale (functions, modules, services); presentation, domain, and data access are distinct layers

What its verifier checks

No module that fetches and transforms and renders in the same class; UI layer contains no business logic; data layer contains no presentation logic; each module's purpose describable in a single clause without "and"