chippyash/Math-Matrix

View on GitHub
src/Chippyash/Math/Matrix/Traits/ConvertNumberToRational.php

Summary

Maintainability
A
1 hr
Test Coverage

Avoid too many return statements within this method.
Open

                        return ComplexTypeFactory::fromString($value)->asRational();
Severity: Major
Found in src/Chippyash/Math/Matrix/Traits/ConvertNumberToRational.php - About 30 mins to fix

    Avoid too many return statements within this method.
    Open

                    return RationalTypeFactory::create($value ? 1 : 0, 1);
    Severity: Major
    Found in src/Chippyash/Math/Matrix/Traits/ConvertNumberToRational.php - About 30 mins to fix

      Avoid too many return statements within this method.
      Open

                      return RationalTypeFactory::create(0, 1);
      Severity: Major
      Found in src/Chippyash/Math/Matrix/Traits/ConvertNumberToRational.php - About 30 mins to fix

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

            protected function convertNumberToRational($value)
            {
                if($value instanceof NumericTypeInterface) {
                    return $value->asRational();
                }

        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