ALL-ABST1001 · abstraction_quality
Judge whether an abstraction reduces total system complexity.
This is a contextual rule for all languages. Read its implementation.
Definition
Section titled “Definition”Compare interface size, hidden complexity, caller knowledge, change reasons, duplication, failure behavior, and plausible direct alternatives. The criteria separately observe hidden complexity, interface stability, leaked caller knowledge, demonstrated variation, independent change causes, and unowned shared knowledge.
Evidence
Section titled “Evidence”Findings cite interface members, callers, leaked details, changes, and duplicated knowledge.
Exceptions
Section titled “Exceptions”Thin protocol adapters can remain shallow when they isolate an external boundary.
Examples
Section titled “Examples”A storage interface hiding retries and provider details is useful. A generic manager whose
callers pass provider-specific flags is leaky.
References
Section titled “References”- Cites “A Philosophy of Software Design”, deep modules
- Cites “Practical Object-Oriented Design”
- Cites “Clean Architecture”