chippyash/Matrix

View on GitHub
src/Chippyash/Matrix/Transformation/Shift.php

Summary

Maintainability
A
1 hr
Test Coverage

Method doTransform has 26 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    protected function doTransform(Matrix $mA, $extra = null)
    {
        $this->assertMatrixIsComplete($mA);

        if ($mA->is('empty')) {
Severity: Minor
Found in src/Chippyash/Matrix/Transformation/Shift.php - About 1 hr to fix

    Avoid too many return statements within this method.
    Open

            return ($direction == 1 ? $ret : $fReflect($ret, Reflect::REFL_Y));
    Severity: Major
    Found in src/Chippyash/Matrix/Transformation/Shift.php - About 30 mins to fix

      The method doTransform() has an NPath complexity of 4096. The configured NPath complexity threshold is 200.
      Open

          protected function doTransform(Matrix $mA, $extra = null)
          {
              $this->assertMatrixIsComplete($mA);
      
              if ($mA->is('empty')) {

      NPathComplexity

      Since: 0.1

      The NPath complexity of a method is the number of acyclic execution paths through that method. A threshold of 200 is generally considered the point where measures should be taken to reduce complexity.

      Example

      class Foo {
          function bar() {
              // lots of complicated code
          }
      }

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

      The method doTransform() has a Cyclomatic Complexity of 13. The configured cyclomatic complexity threshold is 10.
      Open

          protected function doTransform(Matrix $mA, $extra = null)
          {
              $this->assertMatrixIsComplete($mA);
      
              if ($mA->is('empty')) {

      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

      There are no issues that match your filters.

      Category
      Status