kritik94/project-lvl2-s427

View on GitHub

Showing 9 of 9 total issues

Method genDiff has 38 lines of code (exceeds 25 allowed). Consider refactoring.
Open

function genDiff($beforeFilepath, $afterFilepath)
{
    $beforeRaw = file_get_contents($beforeFilepath);
    $afterRaw = file_get_contents($afterFilepath);

Severity: Minor
Found in src/Diff.php - About 1 hr to fix

    Avoid too many return statements within this method.
    Open

                    return sprintf('  + %s: %s', $key, prettifyValue($after[$key]));
    Severity: Major
    Found in src/Diff.php - About 30 mins to fix

      Avoid too many return statements within this method.
      Open

          return implode(PHP_EOL, array_merge(['{'], $resultParts, ['}']));
      Severity: Major
      Found in src/Diff.php - About 30 mins to fix

        Avoid too many return statements within this method.
        Open

                        return sprintf('    %s: %s', $key, prettifyValue($before[$key]));
        Severity: Major
        Found in src/Diff.php - About 30 mins to fix

          Avoid too many return statements within this method.
          Open

                          return sprintf(
                              '  + %s: %s' . PHP_EOL . '  - %s: %s',
                              $key,
                              prettifyValue($after[$key]),
                              $key,
          Severity: Major
          Found in src/Diff.php - About 30 mins to fix

            Avoid too many return statements within this method.
            Open

                            return sprintf('  - %s: %s', $key, prettifyValue($before[$key]));
            Severity: Major
            Found in src/Diff.php - About 30 mins to fix

              Avoid using static access to class '\Docopt' in method 'main'.
              Open

                  $args = Docopt::handle(DOCOPT);
              Severity: Minor
              Found in src/Main.php by phpmd

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

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

              Avoid using static access to class '\Symfony\Component\Yaml\Yaml' in method 'parse'.
              Open

                          return Yaml::parse($content);
              Severity: Minor
              Found in src/Parser.php by phpmd

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

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

              The function genDiff() has a Cyclomatic Complexity of 10. The configured cyclomatic complexity threshold is 10.
              Open

              function genDiff($beforeFilepath, $afterFilepath)
              {
                  $beforeRaw = file_get_contents($beforeFilepath);
                  $afterRaw = file_get_contents($afterFilepath);
              
              
              Severity: Minor
              Found in src/Diff.php by phpmd

              CyclomaticComplexity

              Since: 0.1

              Complexity is determined by the number of decision points in a method plus one for the method entry. The decision points are 'if', 'while', 'for', and 'case labels'. Generally, 1-4 is low complexity, 5-7 indicates moderate complexity, 8-10 is high complexity, and 11+ is very high complexity.

              Example

              // Cyclomatic Complexity = 11
              class Foo {
              1   public function example() {
              2       if ($a == $b) {
              3           if ($a1 == $b1) {
                              fiddle();
              4           } elseif ($a2 == $b2) {
                              fiddle();
                          } else {
                              fiddle();
                          }
              5       } elseif ($c == $d) {
              6           while ($c == $d) {
                              fiddle();
                          }
              7        } elseif ($e == $f) {
              8           for ($n = 0; $n < $h; $n++) {
                              fiddle();
                          }
                      } else {
                          switch ($z) {
              9               case 1:
                                  fiddle();
                                  break;
              10              case 2:
                                  fiddle();
                                  break;
              11              case 3:
                                  fiddle();
                                  break;
                              default:
                                  fiddle();
                                  break;
                          }
                      }
                  }
              }

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

              Severity
              Category
              Status
              Source
              Language