scitools.com

← Metric catalog

Direct 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.

Direct Dependencies Out

API ID: CountDirectDepsOut
Languages: Any
Targets: Architectures

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

Dependencies from descendants only are not counted. Dependencies from this level to children or to outside architectures both count.

In the sample below, for "project", only main.cpp is a direct entity. main.cpp depends on api.cpp (child project/api), ui.cpp (child project/ui), and library1.cpp (libraries/library1), so CountDirectDepsOut is 3. api.cpp and ui.cpp are not counted because they are descendants.

Compare to CountDepsOut, which counts those same partners and in addition partners reached only by 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