Created at 2024-07-26 08:15:08 , with PHPMetrics v2.8.1 (Jean-François Lépine).
Violations
43
Information
7
Warnings
26
Errors
10
Criticals
0

Class Violations

Class Violations
WikibaseQuality\ConstraintReport\ConstraintCheckerServices
Blob / God object error
A blob object (or "god class") does not follow the Single responsibility principle.

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

Maybe you should reducing the number of methods splitting this object in many sub objects.
Blob / God object
WikibaseQuality\ConstraintReport\Specials\SpecialConstraintReport
Probably bugged warning
This component contains in theory 0.95 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 dependent information
This class looks use really high number of components.

* Efferent coupling is 24, so this class uses 24 different external components.

Maybe you should check why this class has lot of dependencies.
Probably bugged Too dependent
WikibaseQuality\ConstraintReport\Api\CheckConstraintParameters
Probably bugged warning
This component contains in theory 0.48 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
WikibaseQuality\ConstraintReport\Api\CheckConstraints
Probably bugged warning
This component contains in theory 0.4 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
WikibaseQuality\ConstraintReport\Api\CachingResultsSource
Probably bugged warning
This component contains in theory 0.75 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 205 logical lines of code
* Class has 367 lines of code

Maybe your class should not exceed 200 lines of logical code
Probably bugged Too long
WikibaseQuality\ConstraintReport\ConstraintCheck\DelegatingConstraintChecker
Too complex class code error
This class looks really complex.

* Algorithms are complex (Total cyclomatic complexity of class is 74)
* Component uses 226 operators

Maybe you should delegate some code to other objects.
Too complex method code error
This class looks really complex.

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

Maybe you should delegate some code to other objects or split complex method.
Probably bugged warning
This component contains in theory 1.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 383 logical lines of code
* Class has 522 lines of code

Maybe your class should not exceed 200 lines of logical code
Too dependent information
This class looks use really high number of components.

* Efferent coupling is 22, so this class uses 22 different external components.

Maybe you should check why this class has lot of dependencies.
Too complex class code Too complex method code Probably bugged Too long Too dependent
WikibaseQuality\ConstraintReport\ConstraintCheck\Message\ViolationMessageRenderer
Probably bugged warning
This component contains in theory 0.76 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
WikibaseQuality\ConstraintReport\ConstraintCheck\Helper\RangeCheckerHelper
Probably bugged warning
This component contains in theory 0.45 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
WikibaseQuality\ConstraintReport\ConstraintCheck\Helper\SparqlHelper
Too complex class code error
This class looks really complex.

* Algorithms are complex (Total cyclomatic complexity of class is 57)
* Component uses 247 operators

Maybe you should delegate some code to other objects.
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.
Probably bugged warning
This component contains in theory 2.59 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 475 logical lines of code
* Class has 717 lines of code

Maybe your class should not exceed 200 lines of logical code
Too dependent information
This class looks use really high number of components.

* Efferent coupling is 32, so this class uses 32 different external components.

Maybe you should check why this class has lot of dependencies.
Too complex class code Too complex method code Probably bugged Too long Too dependent
WikibaseQuality\ConstraintReport\ConstraintCheck\Helper\ConstraintParameterParser
Too complex class code error
This class looks really complex.

* Algorithms are complex (Total cyclomatic complexity of class is 78)
* Component uses 237 operators

Maybe you should delegate some code to other objects.
Probably bugged warning
This component contains in theory 2.54 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 490 logical lines of code
* Class has 718 lines of code

Maybe your class should not exceed 200 lines of logical code
Too complex class code Probably bugged Too long
WikibaseQuality\ConstraintReport\ConstraintCheck\Helper\LoggingHelper
Probably bugged warning
This component contains in theory 0.48 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
WikibaseQuality\ConstraintReport\ConstraintCheck\Helper\TypeCheckerHelper
Probably bugged warning
This component contains in theory 0.42 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
WikibaseQuality\ConstraintReport\ConstraintCheck\Checker\CommonsLinkChecker
Probably bugged warning
This component contains in theory 0.39 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
WikibaseQuality\ConstraintReport\ConstraintCheck\Checker\DiffWithinRangeChecker
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.
Probably bugged warning
This component contains in theory 0.36 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 complex method code Probably bugged
WikibaseQuality\ConstraintReport\ConstraintCheck\Checker\ContemporaryChecker
Too complex method code error
This class looks really complex.

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

Maybe you should delegate some code to other objects or split complex method.
Probably bugged warning
This component contains in theory 0.5 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 complex method code Probably bugged
WikibaseQuality\ConstraintReport\ConstraintCheck\Checker\ValueTypeChecker
Too complex method code error
This class looks really complex.

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

Maybe you should delegate some code to other objects or split complex method.
Too complex method code
WikibaseQuality\ConstraintReport\ConstraintCheck\Checker\FormatChecker
Probably bugged warning
This component contains in theory 0.39 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
WikibaseQuality\ConstraintReport\ConstraintsServices
Blob / God object error
A blob object (or "god class") does not follow the Single responsibility principle.

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

Maybe you should reducing the number of methods splitting this object in many sub objects.
Blob / God object
WikibaseQuality\ConstraintReport\Maintenance\ImportConstraintEntities
Probably bugged warning
This component contains in theory 0.52 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
WikibaseQuality\ConstraintReport
Stable Dependencies Principle warning
Packages should depend in the direction of stability.

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

* WikibaseQuality\ConstraintReport\Api (0.926)
* WikibaseQuality\ConstraintReport\ConstraintCheck\Helper (0.638)
Stable Dependencies Principle
WikibaseQuality\ConstraintReport\ConstraintCheck
Stable Dependencies Principle warning
Packages should depend in the direction of stability.

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

* WikibaseQuality\ConstraintReport (0.414)
* WikibaseQuality\ConstraintReport\ConstraintCheck\Helper (0.638)
Stable Dependencies Principle
WikibaseQuality\ConstraintReport\ConstraintCheck\Context
Stable Abstractions Principle warning
Packages should be either abstract and stable or concrete and instable.

This package is instable and abstract.
Stable Abstractions Principle
WikibaseQuality\ConstraintReport\ConstraintCheck\Message
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.343) than 1 package(s) that it depends on.
The packages that are more stable are

* WikibaseQuality\ConstraintReport\ConstraintCheck (0.375)
Stable Abstractions Principle Stable Dependencies Principle
WikibaseQuality\ConstraintReport\ConstraintCheck\Result
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.309) than 2 package(s) that it depends on.
The packages that are more stable are

* WikibaseQuality\ConstraintReport (0.414)
* WikibaseQuality\ConstraintReport\ConstraintCheck\Message (0.343)
Stable Abstractions Principle Stable Dependencies Principle
WikibaseQuality\ConstraintReport\ConstraintCheck\Helper
Stable Dependencies Principle warning
Packages should depend in the direction of stability.

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

* WikibaseQuality\ConstraintReport\Api (0.926)
Stable Dependencies Principle
WikibaseQuality\ConstraintReport\ConstraintCheck\Cache
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.222) than 1 package(s) that it depends on.
The packages that are more stable are

* WikibaseQuality\ConstraintReport\ConstraintCheck\Helper (0.638)
Stable Abstractions Principle Stable Dependencies Principle