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: CountDirectDepsInLanguages: 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:
- 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 |