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

Class Violations

Class Violations
Snicco\Component\Session\ReadWriteSession
Too complex class code error
This class looks really complex.

* Algorithms are complex (Total cyclomatic complexity of class is 32)
* Component uses 97 operators

Maybe you should delegate some code to other objects.
Probably bugged warning
This component contains in theory 0.77 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.
Too long information
This class looks really long.

* Class has 302 logical lines of code
* Class has 362 lines of code

Maybe your class should not exceed 200 lines of logical code
Too complex class code Probably bugged Too long
Snicco\Component\Session\ValueObject\SessionConfig
Too complex method code error
This class looks really complex.

* Algorithms are complex (Max cyclomatic complexity of class methods is 15)

Maybe you should delegate some code to other objects or split complex method.
Too complex method code
Snicco\Component\Session\Testing\UserSessionDriverTests
Probably bugged warning
This component contains in theory 0.49 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

Package Violations

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

This package is instable and abstract.
Stable Dependencies Principle warning
Packages should depend in the direction of stability.

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

* Snicco\Component\Session (0.6)
Stable Abstractions Principle Stable Dependencies Principle
Snicco\Component\Session\Event
Stable Dependencies Principle warning
Packages should depend in the direction of stability.

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

* Snicco\Component\Session (0.6)
Stable Dependencies Principle
Snicco\Component\Session\Driver
Stable Dependencies Principle warning
Packages should depend in the direction of stability.

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

* Snicco\Component\Session (0.6)
* Snicco\Component\Session\Exception (0.5)
Stable Dependencies Principle
Snicco\Component\Session\Testing
Stable Abstractions Principle warning
Packages should be either abstract and stable or concrete and instable.

This package is instable and abstract.
Stable Abstractions Principle