digipolisgent/robo-digipolis-code-validation

View on GitHub
src/PhpMd.php

Summary

Maintainability
A
1 hr
Test Coverage
A
95%

The class PhpMd has 11 public methods. Consider refactoring PhpMd to keep number of public methods under 10.
Open

class PhpMd extends BaseTask
{

    /**
     * A php source code filename or directory.
Severity: Minor
Found in src/PhpMd.php by phpmd

TooManyPublicMethods

Since: 0.1

A class with too many public methods is probably a good suspect for refactoring, in order to reduce its complexity and find a way to have more fine grained objects.

By default it ignores methods starting with 'get' or 'set'.

Example

Source https://phpmd.org/rules/codesize.html#toomanypublicmethods

Method run has 33 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    public function run()
    {
        if (empty($this->extensions)) {
            $this->extensions = ['php', 'inc'];
        }
Severity: Minor
Found in src/PhpMd.php - About 1 hr to fix

    The method failOnViolations has a boolean flag argument $failOnViolations, which is a certain sign of a Single Responsibility Principle violation.
    Open

        public function failOnViolations($failOnViolations = true)
    Severity: Minor
    Found in src/PhpMd.php by phpmd

    BooleanArgumentFlag

    Since: 1.4.0

    A boolean flag argument is a reliable indicator for a violation of the Single Responsibility Principle (SRP). You can fix this problem by extracting the logic in the boolean flag into its own class or method.

    Example

    class Foo {
        public function bar($flag = true) {
        }
    }

    Source https://phpmd.org/rules/cleancode.html#booleanargumentflag

    Missing class import via use statement (line '237', column '23').
    Open

                throw new \InvalidArgumentException(sprintf(
    Severity: Minor
    Found in src/PhpMd.php by phpmd

    MissingImport

    Since: 2.7.0

    Importing all external classes in a file through use statements makes them clearly visible.

    Example

    function make() {
        return new \stdClass();
    }

    Source http://phpmd.org/rules/cleancode.html#MissingImport

    There are no issues that match your filters.

    Category
    Status