RegionMap

constructor(regions: List<Region> = emptyList(), edges: List<RegionEdge> = emptyList(), source: RegionSource = RegionSource.PATH_PREFIX, modularity: Double = 0.0)(source)

Parameters

regions

Regions, largest first.

edges

Aggregated inter-region dependencies, heaviest first.

source

Where the grouping came from.

modularity

Newman modularity Q of the partition, roughly [-0.5, 1]. Above about 0.3 means the groups genuinely correspond to how the modules depend on each other.

Near or below zero is not automatically a problem: a layered architecture is designed so that most edges cross a boundary - features depend on core, core depends on model - so a layer partition legitimately scores low. Read it as "are these groups also dependency clusters?", which is a different question from "are these groups correct?".