CCCC Software Metrics Report
generated Sun Dec 8 10:12:02 2024 | |
---|---|
Project Summary |
Summary table of high level measures summed over all files processed in the current run. |
Procedural Metrics Summary |
Table of procedural measures (i.e. lines of code, lines of comment, McCabe's cyclomatic complexity summed over each module. |
Object Oriented Design |
Table of four of the 6 metrics proposed by Chidamber and Kemerer in their various papers on 'a metrics suite for object oriented design'. |
Structural Metrics Summary |
Structural metrics based on the relationships of each module with others. Includes fan-out (i.e. number of other modules the current module uses), fan-in (number of other modules which use the current module), and the Information Flow measure suggested by Henry and Kafura, which combines these to give a measure of coupling for the module. |
Other Extents |
Lexical counts for parts of submitted source files which the analyser was unable to assign to a module. Each record in this table relates to either a part of the code which triggered a parse failure, or to the residual lexical counts relating to parts of a file not associated with a specific module. |
About CCCC |
A description of the CCCC program. |
Metric | Tag | Overall | Per Module |
---|---|---|---|
Number of modules | NOM | 24 | |
Lines of Code | LOC | 636 | 26.500 |
McCabe's Cyclomatic Number | MVG | 46 | 1.917 |
Lines of Comment | COM | 57 | 2.375 |
LOC/COM | L_C | 11.158 | |
MVG/COM | M_C | 0.807 | |
Information Flow measure ( inclusive ) | IF4 | 36 | 1.500 |
Information Flow measure ( visible ) | IF4v | 36 | 1.500 |
Information Flow measure ( concrete ) | IF4c | 0 | 0.000 |
Lines of Code rejected by parser | REJ | 51 |
Module Name | LOC | MVG | COM | L_C | M_C |
---|---|---|---|---|---|
BaseGame | 0 | 0 | 0 | ------ | ------ |
Camera | 0 | 0 | 0 | ------ | ------ |
Editor | 5 | 0 | 0 | ------ | ------ |
Entity | 0 | 0 | 0 | ------ | ------ |
Game | 33 | 0 | 0 | ****** | ------ |
GameController | 20 | 1 | 0 | ****** | ------ |
GameRenderer | 174 | 15 | 11 | 15.818 | 1.364 |
GameState | 61 | 4 | 0 | ****** | ------ |
InputSource | 0 | 0 | 0 | ------ | ------ |
Portal | 90 | 10 | 27 | 3.333 | 0.370 |
PortalSystem | 67 | 8 | 5 | 13.400 | 1.600 |
Quaternion | 0 | 0 | 0 | ------ | ------ |
RenderContext | 0 | 0 | 0 | ------ | ------ |
Renderer | 0 | 0 | 0 | ------ | ------ |
Side | 0 | 0 | 0 | ------ | ------ |
TerminalRenderer | 32 | 0 | 0 | ****** | ------ |
UiRenderer | 43 | 0 | 2 | 21.500 | ------ |
Vector3f | 0 | 0 | 0 | ------ | ------ |
Window | 0 | 0 | 0 | ------ | ------ |
World | 3 | 0 | 0 | ------ | ------ |
WorldHelper | 40 | 6 | 2 | 20.000 | 3.000 |
anonymous | 17 | 2 | 0 | ------ | ------ |
string | 0 | 0 | 0 | ------ | ------ |
unique_ptr | 0 | 0 | 0 | ------ | ------ |
Module Name | WMC1 | WMCv | DIT | NOC | CBO |
---|---|---|---|---|---|
BaseGame | 0 | 0 | 0 | 0 | 1 |
Camera | 0 | 0 | 0 | 0 | 1 |
Editor | 2 | 0 | 0 | 0 | 2 |
Entity | 0 | 0 | 0 | 0 | 2 |
Game | 7 | 0 | 0 | 0 | 1 |
GameController | 3 | 0 | 0 | 0 | 1 |
GameRenderer | 9 | 0 | 0 | 0 | 5 |
GameState | 7 | 0 | 0 | 0 | 1 |
InputSource | 0 | 0 | 0 | 0 | 1 |
Portal | 6 | 0 | 0 | 0 | 5 |
PortalSystem | 3 | 0 | 0 | 0 | 1 |
Quaternion | 0 | 0 | 0 | 0 | 1 |
RenderContext | 0 | 0 | 0 | 0 | 2 |
Renderer | 0 | 0 | 0 | 0 | 2 |
Side | 0 | 0 | 0 | 0 | 1 |
TerminalRenderer | 1 | 0 | 0 | 0 | 2 |
UiRenderer | 3 | 0 | 0 | 0 | 4 |
Vector3f | 0 | 0 | 0 | 0 | 2 |
Window | 0 | 0 | 0 | 0 | 1 |
World | 2 | 0 | 0 | 0 | 7 |
WorldHelper | 3 | 0 | 0 | 0 | 1 |
anonymous | 1 | 0 | 0 | 0 | 0 |
string | 0 | 0 | 0 | 0 | 1 |
unique_ptr | 0 | 0 | 0 | 0 | 1 |
Module Name | Fan-out | Fan-in | IF4 | vis | con | inc | vis | con | incl | vis | con | inc |
---|---|---|---|---|---|---|---|---|---|
BaseGame | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
Camera | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
Editor | 0 | 0 | 0 | 2 | 0 | 2 | 0 | 0 | 0 |
Entity | 2 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
Game | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
GameController | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
GameRenderer | 0 | 0 | 0 | 5 | 0 | 5 | 0 | 0 | 0 |
GameState | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
InputSource | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
Portal | 0 | 0 | 0 | 5 | 0 | 5 | 0 | 0 | 0 |
PortalSystem | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
Quaternion | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
RenderContext | 2 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
Renderer | 2 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
Side | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
TerminalRenderer | 0 | 0 | 0 | 2 | 0 | 2 | 0 | 0 | 0 |
UiRenderer | 0 | 0 | 0 | 4 | 2 | 4 | 0 | 0 | 0 |
Vector3f | 2 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
Window | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
World | 6 | 0 | 6 | 1 | 0 | 1 | 36 | 0 | 36 |
WorldHelper | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
anonymous | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
string | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
unique_ptr | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
Location | Text | LOC | COM | MVG |
---|---|---|---|---|
./source/Portal.cpp:1 |
<file scope items> | 9 | 1 | 0 |
./source/Editor.cpp:1 |
<file scope items> | 2 | 0 | 0 |
./source/WorldHelper.cpp:1 |
<file scope items> | 4 | 1 | 0 |
./source/renderer/UiRenderer.cpp:1 |
<file scope items> | 4 | 1 | 0 |
./source/renderer/TerminalRenderer.cpp:1 |
<file scope items> | 4 | 1 | 0 |
./source/renderer/GameRenderer.cpp:1 |
<file scope items> | 4 | 1 | 0 |
./source/Main.cpp:1 |
<file scope items> | 2 | 0 | 0 |
./source/Game.cpp:1 |
<file scope items> | 4 | 1 | 0 |
./source/GameState.cpp:1 |
<file scope items> | 5 | 1 | 0 |
./source/GameController.cpp:1 |
<file scope items> | 3 | 1 | 0 |
./source/World.cpp:1 |
<file scope items> | 5 | 1 | 0 |
./source/Version.hpp:1 |
<file scope items> | 1 | 0 | 0 |
./source/system/PortalSystem.cpp:1 |
<file scope items> | 4 | 1 | 0 |
This report was generated by the program CCCC, which is FREELY REDISTRIBUTABLE but carries NO WARRANTY.
CCCC was developed by Tim Littlefair. as part of a PhD research project. This project is now completed and descriptions of the findings can be accessed at http://www.chs.ecu.edu.au/~tlittlef.
User support for CCCC can be obtained by mailing the list cccc-users@lists.sourceforge.net.
Please also visit the CCCC development website at http://cccc.sourceforge.net.