Created at 2025-11-27 15:51:33 , with PHPMetrics v2.9.1 (Jean-François Lépine).
Violations
34
Information
1
Warnings
15
Errors
18
Criticals
0

Class Violations

Class Violations
Hal\Component\Ast\Traverser
Too complex method code error
This class looks really complex.

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

Maybe you should delegate some code to other objects or split complex method.
Too complex method code
Hal\Search\Search
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
Hal\Search\SearchesValidator
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
Hal\Report\Html\Reporter
Too complex method code error
This class looks really complex.

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

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

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

Maybe you should delegate some code to other objects or split complex method.
Too complex method code
Hal\Application\Analyze
Too dependent information
This class looks use really high number of components.

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

Maybe you should check why this class has lot of dependencies.
Too dependent
Hal\Application\Config\Validator
Too complex method code error
This class looks really complex.

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

Maybe you should delegate some code to other objects or split complex method.
Too complex method code
Hal\Application\Config\Parser
Too complex method code error
This class looks really complex.

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

Maybe you should delegate some code to other objects or split complex method.
Too complex method code
Hal\Application\Config\File\ConfigFileReaderJson
Too complex method code error
This class looks really complex.

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

Maybe you should delegate some code to other objects or split complex method.
Too complex method code
Hal\Metric\System\Changes\GitChanges
Too complex method code error
This class looks really complex.

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

Maybe you should delegate some code to other objects or split complex method.
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.
Too complex method code Probably bugged
Hal\Metric\System\Coupling\Coupling
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.
Too complex method code
Hal\Metric\Helper\RoleOfMethodDetector
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
Hal\Metric\Consolidated
Too complex method code error
This class looks really complex.

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

Maybe you should delegate some code to other objects or split complex method.
Probably bugged warning
This component contains in theory 0.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 complex method code Probably bugged
Hal\Metric\Class_\Complexity\CyclomaticComplexityVisitor
Too complex method code error
This class looks really complex.

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

Maybe you should delegate some code to other objects or split complex method.
Too complex method code
Hal\Metric\Class_\Coupling\ExternalsVisitor
Too complex method code error
This class looks really complex.

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

Maybe you should delegate some code to other objects or split complex method.
Too complex method code
Hal\Metric\Class_\Structural\LcomVisitor
Too complex method code error
This class looks really complex.

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

Maybe you should delegate some code to other objects or split complex method.
Too complex method code
Hal\Metric\Class_\Structural\SystemComplexityVisitor
Too complex method code error
This class looks really complex.

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

Maybe you should delegate some code to other objects or split complex method.
Too complex method code
Hal\Metric\Class_\Text\HalsteadVisitor
Too complex method code error
This class looks really complex.

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

Maybe you should delegate some code to other objects or split complex method.
Probably bugged warning
This component contains in theory 0.44 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
Hal\Metric\Class_\ClassEnumVisitor
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

Package Violations

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

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

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

This package is instable and abstract.
Stable Abstractions Principle
Hal\Report
Stable Abstractions Principle warning
Packages should be either abstract and stable or concrete and instable.

This package is instable and abstract.
Stable Abstractions Principle
Hal\Application\Config
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.261) than 3 package(s) that it depends on.
The packages that are more stable are

* Hal\Metric\Group (0.5)
* Hal\Search (0.625)
* Hal\Application\Config\File (0.8)
Stable Abstractions Principle Stable Dependencies Principle
Hal\Violation
Stable Dependencies Principle warning
Packages should depend in the direction of stability.

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

* Hal\Violation\Class_ (0.667)
* Hal\Violation\Package (0.667)
* Hal\Violation\Search (0.667)
Stable Dependencies Principle
Hal\Metric
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.022) than 1 package(s) that it depends on.
The packages that are more stable are

* global (0.063)
Stable Abstractions Principle Stable Dependencies Principle
Hal\Metric\Helper
Stable Abstractions Principle warning
Packages should be either abstract and stable or concrete and instable.

This package is instable and abstract.
Stable Abstractions Principle