Created at 2024-05-08 11:35:23 , with PHPMetrics v2.8.2 (Jean-François Lépine).
Violations
6
Information
0
Warnings
5
Errors
1
Criticals
0

Class Violations

Class Violations
Snicco\Component\Kernel\Kernel
Probably bugged warning
This component contains in theory 0.41 bugs.

* Calculation is based on number of operators, operands, cyclomatic complexity
* See more details at https://en.wikipedia.org/wiki/Halstead_complexity_measures
* testsuites has dependency to this class.

Maybe you should check your unit tests for this class.
Probably bugged
Snicco\Component\Kernel\Testing\DIContainerContractTests
Blob / God object error
A blob object (or "god class") does not follow the Single responsibility principle.

* object has lot of public methods (21, excluding getters and setters)
* object has a high Lack of cohesion of methods (LCOM=3)
* object knows everything (and use lot of external classes)

Maybe you should reducing the number of methods splitting this object in many sub objects.
Probably bugged warning
This component contains in theory 0.38 bugs.

* Calculation is based on number of operators, operands, cyclomatic complexity
* See more details at https://en.wikipedia.org/wiki/Halstead_complexity_measures
* testsuites has dependency to this class.

Maybe you should check your unit tests for this class.
Blob / God object Probably bugged

Package Violations

Package Violations
Snicco\Component\Kernel\Exception
Stable Abstractions Principle warning
Packages should be either abstract and stable or concrete and instable.

This package is instable and abstract.
Stable Abstractions Principle
Snicco\Component\Kernel\ValueObject
Stable Abstractions Principle warning
Packages should be either abstract and stable or concrete and instable.

This package is instable and abstract.
Stable Abstractions Principle
Snicco\Component\Kernel\Configuration
Stable Dependencies Principle warning
Packages should depend in the direction of stability.

This package is more stable (0.368) than 1 package(s) that it depends on.
The packages that are more stable are

* Snicco\Component\Kernel\Exception (0.4)
Stable Dependencies Principle