scitools.com

← Metric catalog

Dependencies Out 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.

Dependencies Out

API ID: CountDepsOut
Languages: Any
Targets: Architectures

Number of other architectures this one (or its descendants) depends on.

Any dependency from this subtree to another architecture counts, so "out" counts all dependency partners outside this subtree.

In the sample below, for "project", dependencies go to "libraries/library1" (from main.cpp and api.cpp) and "libraries/library2" (from ui.cpp), so CountDepsOut is 2.

Compare to CountDirectDepsOut (only partners reached by this architecture's own entities) and CountMajorDepsOut (partners grouped by parent).

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