Created at 2024-12-21 09:57:04 , with PHPMetrics v2.8.1 (Jean-François Lépine).
Violations
23
Information
2
Warnings
16
Errors
5
Criticals
0

Class Violations

Class Violations
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\EntitySchemaContentHandler
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.
Probably bugged warning
This component contains in theory 0.78 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 33, so this class uses 33 different external components.

Maybe you should check why this class has lot of dependencies.
Blob / God object Probably bugged Too dependent
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\Specials\NewEntitySchema
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\MediaWiki\Specials\SetEntitySchemaLabelDescriptionAliases
Probably bugged warning
This component contains in theory 1.08 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\MediaWiki\Actions\EntitySchemaEditAction
Probably bugged warning
This component contains in theory 0.46 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 (11, excluding getters and setters)
* object has a high Lack of cohesion of methods (LCOM=11)
* 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\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\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\Services\Converter\EntitySchemaConverter
Too complex class code error
This class looks really complex.

* Algorithms are complex (Total cyclomatic complexity of class is 48)
* Component uses 100 operators

Maybe you should delegate some code to other objects.
Probably bugged warning
This component contains in theory 0.66 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
EntitySchema\DataAccess\MediaWikiRevisionEntitySchemaUpdater
Probably bugged warning
This component contains in theory 0.86 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

Package Violations

Package Violations
EntitySchema\MediaWiki
Stable Dependencies Principle warning
Packages should depend in the direction of stability.

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

* EntitySchema\Wikibase\Validators (0.833)
* EntitySchema\Wikibase\Search (0.95)
* EntitySchema\MediaWiki\Content (0.86)
Stable Dependencies Principle
EntitySchema\MediaWiki\Content
Stable Dependencies Principle warning
Packages should depend in the direction of stability.

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

* EntitySchema\MediaWiki\Actions (0.973)
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.86)
Stable Dependencies 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
EntitySchema\DataAccess
Stable Dependencies Principle warning
Packages should depend in the direction of stability.

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

* EntitySchema\MediaWiki (0.806)
* EntitySchema\MediaWiki\Content (0.86)
Stable Dependencies Principle
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