Created at 2024-07-23 09:57:05 , with PHPMetrics v2.8.1 (Jean-François Lépine).
Violations
24
Information
3
Warnings
17
Errors
4
Criticals
0

Class Violations

Class Violations
EntitySchema\DataAccess\MediaWikiRevisionEntitySchemaUpdater
Probably bugged warning
This component contains in theory 0.7 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 22, so this class uses 22 different external components.

Maybe you should check why this class has lot of dependencies.
Probably bugged Too dependent
EntitySchema\Presentation\ConfirmationFormRenderer
Probably bugged warning
This component contains in theory 0.35 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
EntitySchema\Presentation\AutocommentFormatter
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
EntitySchema\MediaWiki\Content\EntitySchemaContentHandler
Probably bugged warning
This component contains in theory 0.35 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 25, so this class uses 25 different external components.

Maybe you should check why this class has lot of dependencies.
Probably bugged Too dependent
EntitySchema\MediaWiki\Content\EntitySchemaSlotDiffRenderer
Probably bugged warning
This component contains in theory 0.43 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
EntitySchema\MediaWiki\Content\EntitySchemaSlotViewRenderer
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.
Probably bugged
EntitySchema\MediaWiki\EntitySchemaServices
Blob / God object error
A blob object (or "god class") does not follow the Single responsibility principle.

* object has lot of public methods (9, excluding getters and setters)
* object has a high Lack of cohesion of methods (LCOM=9)
* 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
EntitySchema\MediaWiki\Specials\SetEntitySchemaLabelDescriptionAliases
Probably bugged warning
This component contains in theory 1.07 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 21, so this class uses 21 different external components.

Maybe you should check why this class has lot of dependencies.
Probably bugged Too dependent
EntitySchema\MediaWiki\Specials\NewEntitySchema
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
EntitySchema\MediaWiki\Actions\EntitySchemaEditAction
Probably bugged warning
This component contains in theory 0.47 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
EntitySchema\Wikibase\DataValues\EntitySchemaValue
Blob / God object error
A blob object (or "god class") does not follow the Single responsibility principle.

* object has lot of public methods (9, excluding getters and setters)
* object has a high Lack of cohesion of methods (LCOM=6)
* 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
EntitySchema\Services\Converter\EntitySchemaConverter
Too complex class code error
This class looks really complex.

* Algorithms are complex (Total cyclomatic complexity of class is 45)
* Component uses 91 operators

Maybe you should delegate some code to other objects.
Probably bugged warning
This component contains in theory 0.58 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 class code Probably bugged

Package Violations

Package Violations
MediaWiki\SyntaxHighlight
Stable Abstractions Principle warning
Packages should be either abstract and stable or concrete and instable.

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

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

* EntitySchema\MediaWiki\Content (0.843)
Stable Dependencies Principle
EntitySchema\Presentation
Stable Dependencies Principle warning
Packages should depend in the direction of stability.

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

* EntitySchema\MediaWiki\Content (0.843)
Stable Dependencies Principle
EntitySchema\MediaWiki\Content
Stable Dependencies Principle warning
Packages should depend in the direction of stability.

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

* EntitySchema\MediaWiki\Actions (0.969)
* EntitySchema\MediaWiki (0.875)
Stable Dependencies Principle
EntitySchema\MediaWiki
Stable Dependencies Principle warning
Packages should depend in the direction of stability.

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

* EntitySchema\Wikibase\Search (0.9)
Stable Dependencies Principle
EntitySchema\Wikibase
Stable Abstractions Principle warning
Packages should be either abstract and stable or concrete and instable.

This package is instable and abstract.
Stable Abstractions Principle
EntitySchema\Domain\Model
Stable Abstractions Principle warning
Packages should be either abstract and stable or concrete and instable.

This package is instable and abstract.
Stable Abstractions Principle
EntitySchema\Services\Converter
Stable Abstractions Principle warning
Packages should be either abstract and stable or concrete and instable.

This package is instable and abstract.
Stable Abstractions Principle