Direct Dependency References 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 Dependency References In
API ID: CountDirectDepRefsInLanguages: Any
Targets: Architectures
Total number of dependency references from other architectures into this architecture's own entities only.
References into descendants are excluded.
In the sample below, for "project", only references into main.cpp count (api.cpp and ui.cpp are in child architectures). The 7 references from main_test.cpp to main.cpp give CountDirectDepRefsIn = 7; the 5 references from api_test.cpp to api.cpp do not count.
Compare to CountDepRefsIn (all references into this subtree) and CountDirectDepsIn (number of dependent architectures).
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 |