Project Description & Goal
The quality of supplier deliveries varies. And one shall monitor its suppliers.
The goal of this project is to create framework allowing to calculate various code and repository quality metrics without being judgemental about which metrics are actually useful.
These can come actually from various source of data - e.g. code analysis, bug tracking systems, repository activity etc.)
The initial requirements for such framework are (ordered by priority - top = highest priority):
- Calculate and show metrics for any given code base or repository (targeting C/C++ only for now) locally resulting in simple to read report
- Allow easy interface to 3rd party tools to get metrics
- Allow easy addition on new metrics
- Allow combining available metrics into new ones (https://opensource.googleblog.com/2020/12/finding-critical-open-source-projects.html)
- Allow access / usage via web interface
- Allow mechanism for some statistical data gathering and mining - e.g. evaluate how a given repository stands against a "distribution" of repositories
This of course involves investigation about existing solutions out there delivering the above.
Initial metrics to be considered here:
- Findings from static code checker (e.g. cppchecker - https://github.com/danmar/cppcheck)
- Compiler warnings (e.g. -Wall -Wextra)
- McCabe complexity (https://people.debian.org/~bame/pmccabe/)
The primary implementation language will be Python.
This project is one of its kind!