-
Notifications
You must be signed in to change notification settings - Fork 102
Implement efferent coupling at module level #790
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
By default, ODB uses left join instead of inner join causing incorrect metrics values.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR fixes a bug in the efferent coupling type level calculation while introducing new metrics for type dependencies and module-level efferent coupling. Key changes include:
- Fixing the bug caused by the use of a left join in efferent coupling type level calculation.
- Adding the CppTypeDependencyMetrics table and updating the efferent type level calculation to record dependency relations.
- Implementing efferent coupling module level calculations and associated test cases.
Reviewed Changes
Copilot reviewed 14 out of 17 changed files in this pull request and generated 1 comment.
Show a summary per file
File | Description |
---|---|
util/include/util/dbutil.h | Refactored getFilterPathsQuery to use an if constexpr lambda for determining the query column. |
plugins/cpp_metrics/test/src/cppmetricsparsertest.cpp | Updated test parameter typedefs and instantiations for consistency. |
plugins/cpp_metrics/parser/src/cppmetricsparser.cpp | Updated inheritance query logic and added module level metric calculations. |
plugins/cpp_metrics/parser/include/cppmetricsparser/cppmetricsparser.h | Added declarations for new module coupling methods and constants. |
Various files in plugins/cpp_metrics/test/sources/parser/* and plugins/cpp_metrics/model/include/model/* | Added new module metric sources and updated model definitions to support efferent module metrics. |
plugins/cpp/model/include/model/cppfunction.h | Updated db view syntax for parameter and local variable views using the new inner alias. |
Files not reviewed (3)
- plugins/cpp_metrics/model/CMakeLists.txt: Language not supported
- plugins/cpp_metrics/test/sources/parser/CMakeLists.txt: Language not supported
- util/CMakeLists.txt: Language not supported
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 🚀
Closes: #674
CppTypeDependencyMetrics
table listing dependencies between individual types