scitools.com

← Metric catalog

Direct Dependencies In is one of the source-code metrics Understand computes across 17+ languages — browse them in the GUI, export and track them, or script them with the Python API.

Direct Dependencies In

API ID: CountDirectDepsIn
Languages: Any
Targets: Architectures

Number of other architectures that depend on this architecture's own entities.

Dependencies that only touch descendants are not counted. A dependent that references both this architecture and a child still counts once.

In the sample below, for "project", the only direct entity is main.cpp (api and ui are in child architectures). Only "tests/main" depends on main.cpp; "tests/api" depends on api.cpp (a descendant), so it does not count. CountDirectDepsIn is 1.

Compare to CountDepsIn, which counts those same dependents and in addition dependents that reference only descendant entities.

Consider a directory-style architecture and dependencies:

Dependencies (with reference counts):

  1. main.cpp → api.cpp (3 refs)
  2. main.cpp → ui.cpp (9 refs)
  3. main.cpp → library1.cpp (8 refs)
  4. api.cpp → library1.cpp (6 refs)
  5. ui.cpp → library2.cpp (4 refs)
  6. ui.cpp → api.cpp (2 refs)
  7. main_test.cpp → main.cpp (7 refs)
  8. api_test.cpp → api.cpp (5 refs)

For project, the metrics are:

MetricValue
CountDepsIn2
CountDepsOut2
CountDepRefsIn12
CountDepRefsOut18
CountDirectDepsIn1
CountDirectDepsOut3
CountDirectDepRefsIn7
CountDirectDepRefsOut20
CountMajorDepsIn1
CountMajorDepsOut1