ALL-ARCH0005 · abstraction_nothing_depends_on
Report a module written as a contract that no other module in this repository imports.
This is a deterministic rule for all languages. Read its implementation.
Definition
Section titled “Definition”An abstraction earns its cost by being depended upon. Where abstractness A is high and
afferent coupling is zero, nobody took the promise up, which puts the module in the far corner
Martin calls the zone of uselessness. It is the mirror of the concrete module everything leans
on, and it is scaffolding somebody built for a second implementation that never arrived.
Both halves are required. Afferent coupling has to be zero, so a widely implemented base class
is never reported, and A has to reach minimum_abstractness, so a module of plain functions
that happens to be a leaf is left alone. Read against the main sequence this is the same
finding as a large D on the abstract side, since a module nothing imports and that imports
anything has I of one and therefore D equal to its own A.
Continue with evidence and references, or open the examples.