Code quality and technical debt

Distance from main sequence

Also known as Distance from main sequence, Distance from main sequence in software engineering

By WeavePublished 1 min read

Definition

An architecture signal that combines abstractness and instability to highlight potentially problematic component positions.

What it means

Distance from the main sequence compares a component’s abstractness and instability against an expected balance between stable contracts and implementation-oriented code. A large distance can identify a component that is both hard to change and concrete, or abstract but unstable. It is a prompt for investigation, not a verdict about design.

Example

A shared module has many dependents but exposes only concrete classes, making small changes expensive. The signal encourages the team to inspect whether an interface boundary would help, rather than adding abstractions automatically.

Limitations

The measure relies on simplified coupling counts and can reward designs that fit the formula while remaining confusing. Framework conventions, team boundaries, and actual change history may matter more than the geometric distance.

How to use the signal

Weave can help test whether components far from the main sequence attract larger reviews or repeated rework. Use architecture metrics to select candidates and human design review to determine the remedy.

How this relates to Weave

Weave can help test whether components far from the main sequence attract larger reviews or repeated rework. Use architecture metrics to select candidates and human design review to determine the remedy.

Explore Engineering intelligence

Sources and further reading

  1. Martin Fowler, Refactoring and software design