[ros-users] [Discourse.ros.org] [Quality Assurance] What quality metrics do we need to make packages quality visible?

fkromer ros.discourse at gmail.com
Sun Feb 18 17:49:08 UTC 2018



To ensure testability of C++ packages (also if there are no tests yet but shall be added in the future) the following metrics could be added to the static analysis list:

* Cyclic includes: Can limit (white box) testing of packages. Can be checked with [cppdep](https://github.com/rakhimov/cppdep) (static analysis).
* McCabe complexity (often called differently): Can make (white box) testing of packages practically impossible. Some standards recommend not to raise the upper threshold value of 15. Can be checked e.g. with [lizard](https://github.com/terryyin/lizard).
* Efferent coupling (on various levels of abstraction): Describes the degree of dependency of an entity under analyzation on other entities (e.g. on the class level: on which/how much other classes does the class under analyzation depend on). Further info [here](https://www.cppdepend.com/metrics#EfferentCoupling). I don't know if there are free tools which are capable of reporting this metric.
* Afferent coupling (on various levels of abstraction): Describes the degree of dependency of other entities on the entity under analyzation (e.g. on the class level: which/how much other classes depend on the class under analyzation). Further info [here](https://www.cppdepend.com/metrics#AfferentCoupling). I don't know if there are free tools which are capable of reporting this metric.





---
[Visit Topic](https://discourse.ros.org/t/what-quality-metrics-do-we-need-to-make-packages-quality-visible/3985/3) or reply to this email to respond.




More information about the ros-users mailing list