Created at 2023-10-02 18:39:33 , with PHPMetrics v2.8.2 (Jean-François Lépine).
Violations
32
Information
3
Warnings
16
Errors
13
Criticals
0

Class Violations

Class Violations
Modules\Billing\Models\PurchaseBillMapper
Blob / God object error
A blob object (or "god class") does not follow the Single responsibility principle.

* object has lot of public methods (15, excluding getters and setters)
* object has a high Lack of cohesion of methods (LCOM=15)
* 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.83 bugs.

* Calculation is based on number of operators, operands, cyclomatic complexity
* See more details at https://en.wikipedia.org/wiki/Halstead_complexity_measures
* 13 testsuites has dependency to this class.

Maybe you should check your unit tests for this class.
Blob / God object Probably bugged
Modules\Billing\Models\Price\PriceMapper
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
* 0 testsuites has dependency to this class.

Maybe you should check your unit tests for this class.
Probably bugged
Modules\Billing\Models\BillElementMapper
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
* 0 testsuites has dependency to this class.

Maybe you should check your unit tests for this class.
Probably bugged
Modules\Billing\Models\BillElement
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
* 2 testsuites has dependency to this class.

Maybe you should check your unit tests for this class.
Probably bugged
Modules\Billing\Models\BillMapper
Probably bugged warning
This component contains in theory 0.94 bugs.

* Calculation is based on number of operators, operands, cyclomatic complexity
* See more details at https://en.wikipedia.org/wiki/Halstead_complexity_measures
* 0 testsuites has dependency to this class.

Maybe you should check your unit tests for this class.
Probably bugged
Modules\Billing\Models\SalesBillMapper
Blob / God object error
A blob object (or "god class") does not follow the Single responsibility principle.

* object has lot of public methods (17, 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.
Probably bugged warning
This component contains in theory 1.05 bugs.

* Calculation is based on number of operators, operands, cyclomatic complexity
* See more details at https://en.wikipedia.org/wiki/Halstead_complexity_measures
* 15 testsuites has dependency to this class.

Maybe you should check your unit tests for this class.
Blob / God object Probably bugged
Modules\Billing\Controller\ApiBillTypeController
Blob / God object error
A blob object (or "god class") does not follow the Single responsibility principle.

* object has lot of public methods (8, excluding getters and setters)
* object has a high Lack of cohesion of methods (LCOM=3)
* 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.66 bugs.

* Calculation is based on number of operators, operands, cyclomatic complexity
* See more details at https://en.wikipedia.org/wiki/Halstead_complexity_measures
* 0 testsuites has dependency to this class.

Maybe you should check your unit tests for this class.
Blob / God object Probably bugged
Modules\Billing\Controller\CliController
Too complex class code error
This class looks really complex.

* Algorithms are complex (Total cyclomatic complexity of class is 52)
* Component uses 142 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 16)

Maybe you should delegate some code to other objects or split complex method.
Probably bugged warning
This component contains in theory 1.09 bugs.

* Calculation is based on number of operators, operands, cyclomatic complexity
* See more details at https://en.wikipedia.org/wiki/Halstead_complexity_measures
* 0 testsuites has dependency to this class.

Maybe you should check your unit tests for this class.
Too complex class code Too complex method code Probably bugged
Modules\Billing\Controller\ApiTaxController
Probably bugged warning
This component contains in theory 0.83 bugs.

* Calculation is based on number of operators, operands, cyclomatic complexity
* See more details at https://en.wikipedia.org/wiki/Halstead_complexity_measures
* 0 testsuites has dependency to this class.

Maybe you should check your unit tests for this class.
Probably bugged
Modules\Billing\Controller\ApiAttributeController
Blob / God object error
A blob object (or "god class") does not follow the Single responsibility principle.

* object has lot of public methods (15, excluding getters and setters)
* object has a high Lack of cohesion of methods (LCOM=4)
* 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.9 bugs.

* Calculation is based on number of operators, operands, cyclomatic complexity
* See more details at https://en.wikipedia.org/wiki/Halstead_complexity_measures
* 0 testsuites has dependency to this class.

Maybe you should check your unit tests for this class.
Blob / God object Probably bugged
Modules\Billing\Controller\ApiPriceController
Too complex class code error
This class looks really complex.

* Algorithms are complex (Total cyclomatic complexity of class is 69)
* Component uses 180 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 29)

Maybe you should delegate some code to other objects or split complex method.
Probably bugged warning
This component contains in theory 1.66 bugs.

* Calculation is based on number of operators, operands, cyclomatic complexity
* See more details at https://en.wikipedia.org/wiki/Halstead_complexity_measures
* 0 testsuites has dependency to this class.

Maybe you should check your unit tests for this class.
Too complex class code Too complex method code Probably bugged
Modules\Billing\Controller\BackendController
Too complex class code error
This class looks really complex.

* Algorithms are complex (Total cyclomatic complexity of class is 40)
* Component uses 331 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 18)

Maybe you should delegate some code to other objects or split complex method.
Probably bugged warning
This component contains in theory 3.54 bugs.

* Calculation is based on number of operators, operands, cyclomatic complexity
* See more details at https://en.wikipedia.org/wiki/Halstead_complexity_measures
* 0 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 284 logical lines of code
* Class has 501 lines of code

Maybe your class should not exceed 200 lines of logical code
Too complex class code Too complex method code Probably bugged Too long
Modules\Billing\Controller\ApiBillController
Too complex class code error
This class looks really complex.

* Algorithms are complex (Total cyclomatic complexity of class is 84)
* Component uses 349 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 21)

Maybe you should delegate some code to other objects or split complex method.
Probably bugged warning
This component contains in theory 3.7 bugs.

* Calculation is based on number of operators, operands, cyclomatic complexity
* See more details at https://en.wikipedia.org/wiki/Halstead_complexity_measures
* 0 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 480 logical lines of code
* Class has 955 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 30, so this class uses 30 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
Modules\Billing\Admin\Installer
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.08 bugs.

* Calculation is based on number of operators, operands, cyclomatic complexity
* See more details at https://en.wikipedia.org/wiki/Halstead_complexity_measures
* 0 testsuites has dependency to this class.

Maybe you should check your unit tests for this class.
Too complex method code Probably bugged

Package Violations

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

This package is instable and abstract.
Stable Abstractions Principle
Modules\Billing\Models\Price
Stable Abstractions Principle warning
Packages should be either abstract and stable or concrete and instable.

This package is instable and abstract.
Stable Abstractions Principle