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: CountDepsOutLanguages: 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:
- project
- api
- api.cpp
- ui
- ui.cpp
- main.cpp
- api
- libraries
- library1
- ibrary1.cpp
- library2
- library2.cpp
- library1
- tests
- main
- main_test.cpp
- api
- api_test.cpp
- main
Dependencies (with reference counts):
- main.cpp → api.cpp (3 refs)
- main.cpp → ui.cpp (9 refs)
- main.cpp → library1.cpp (8 refs)
- api.cpp → library1.cpp (6 refs)
- ui.cpp → library2.cpp (4 refs)
- ui.cpp → api.cpp (2 refs)
- main_test.cpp → main.cpp (7 refs)
- api_test.cpp → api.cpp (5 refs)
For project, the metrics are:
| Metric | Value |
|---|---|
| CountDepsIn | 2 |
| CountDepsOut | 2 |
| CountDepRefsIn | 12 |
| CountDepRefsOut | 18 |
| CountDirectDepsIn | 1 |
| CountDirectDepsOut | 3 |
| CountDirectDepRefsIn | 7 |
| CountDirectDepRefsOut | 20 |
| CountMajorDepsIn | 1 |
| CountMajorDepsOut | 1 |