librenms/librenms

View on GitHub
LibreNMS/Device/YamlDiscovery.php

Summary

Maintainability
F
4 days
Test Coverage

Function preCache has a Cognitive Complexity of 52 (exceeds 5 allowed). Consider refactoring.
Open

    public static function preCache(OS $os)
    {
        // Pre-cache data for later use
        $pre_cache = [];
        $device = $os->getDeviceArray();
Severity: Minor
Found in LibreNMS/Device/YamlDiscovery.php - About 1 day to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Function discover has a Cognitive Complexity of 47 (exceeds 5 allowed). Consider refactoring.
Open

    public static function discover(OS $os, $class, $yaml_data)
    {
        $pre_cache = $os->preCache();
        $device = $os->getDeviceArray();
        $items = [];
Severity: Minor
Found in LibreNMS/Device/YamlDiscovery.php - About 7 hrs to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

The class YamlDiscovery has an overall complexity of 76 which is very high. The configured complexity threshold is 50.
Open

class YamlDiscovery
{
    /**
     * @param  OS  $os
     * @param  DiscoveryItem|string  $class
Severity: Minor
Found in LibreNMS/Device/YamlDiscovery.php by phpmd

Function canSkipItem has a Cognitive Complexity of 23 (exceeds 5 allowed). Consider refactoring.
Open

    public static function canSkipItem($value, $index, array $yaml_item_data, array $group_options, array $pre_cache = []): bool
    {
        $skip_values = array_replace((array) ($group_options['skip_values'] ?? []), (array) ($yaml_item_data['skip_values'] ?? []));

        foreach ($skip_values as $skip_value) {
Severity: Minor
Found in LibreNMS/Device/YamlDiscovery.php - About 3 hrs to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Function getValueFromData has a Cognitive Complexity of 20 (exceeds 5 allowed). Consider refactoring.
Open

    public static function getValueFromData($name, $index, $discovery_data, $pre_cache, $default = null)
    {
        if (isset($discovery_data[$name])) {
            $name = $discovery_data[$name];
        }
Severity: Minor
Found in LibreNMS/Device/YamlDiscovery.php - About 2 hrs to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Method discover has 55 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    public static function discover(OS $os, $class, $yaml_data)
    {
        $pre_cache = $os->preCache();
        $device = $os->getDeviceArray();
        $items = [];
Severity: Major
Found in LibreNMS/Device/YamlDiscovery.php - About 2 hrs to fix

    File YamlDiscovery.php has 258 lines of code (exceeds 250 allowed). Consider refactoring.
    Open

    <?php
    /**
     * YamlDiscovery.php
     *
     * -Description-
    Severity: Minor
    Found in LibreNMS/Device/YamlDiscovery.php - About 2 hrs to fix

      Method preCache has 50 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          public static function preCache(OS $os)
          {
              // Pre-cache data for later use
              $pre_cache = [];
              $device = $os->getDeviceArray();
      Severity: Minor
      Found in LibreNMS/Device/YamlDiscovery.php - About 2 hrs to fix

        Method getValueFromData has 37 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

            public static function getValueFromData($name, $index, $discovery_data, $pre_cache, $default = null)
            {
                if (isset($discovery_data[$name])) {
                    $name = $discovery_data[$name];
                }
        Severity: Minor
        Found in LibreNMS/Device/YamlDiscovery.php - About 1 hr to fix

          Method canSkipItem has 34 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

              public static function canSkipItem($value, $index, array $yaml_item_data, array $group_options, array $pre_cache = []): bool
              {
                  $skip_values = array_replace((array) ($group_options['skip_values'] ?? []), (array) ($yaml_item_data['skip_values'] ?? []));
          
                  foreach ($skip_values as $skip_value) {
          Severity: Minor
          Found in LibreNMS/Device/YamlDiscovery.php - About 1 hr to fix

            Method replaceValues has 28 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

                public static function replaceValues($name, $index, $count, $def, $pre_cache)
                {
                    $value = static::getValueFromData($name, $index, $def, $pre_cache);
            
                    if (is_null($value)) {
            Severity: Minor
            Found in LibreNMS/Device/YamlDiscovery.php - About 1 hr to fix

              Method fillValues has 6 arguments (exceeds 4 allowed). Consider refactoring.
              Open

                  public static function fillValues($name, $index, $discovery_data, $count, $pre_cache, $value): mixed
              Severity: Minor
              Found in LibreNMS/Device/YamlDiscovery.php - About 45 mins to fix

                Method canSkipItem has 5 arguments (exceeds 4 allowed). Consider refactoring.
                Open

                    public static function canSkipItem($value, $index, array $yaml_item_data, array $group_options, array $pre_cache = []): bool
                Severity: Minor
                Found in LibreNMS/Device/YamlDiscovery.php - About 35 mins to fix

                  Method getValueFromData has 5 arguments (exceeds 4 allowed). Consider refactoring.
                  Open

                      public static function getValueFromData($name, $index, $discovery_data, $pre_cache, $default = null)
                  Severity: Minor
                  Found in LibreNMS/Device/YamlDiscovery.php - About 35 mins to fix

                    Method replaceValues has 5 arguments (exceeds 4 allowed). Consider refactoring.
                    Open

                        public static function replaceValues($name, $index, $count, $def, $pre_cache)
                    Severity: Minor
                    Found in LibreNMS/Device/YamlDiscovery.php - About 35 mins to fix

                      Avoid too many return statements within this method.
                      Open

                              return false;
                      Severity: Major
                      Found in LibreNMS/Device/YamlDiscovery.php - About 30 mins to fix

                        Avoid too many return statements within this method.
                        Open

                                            return $table[$index][$name];
                        Severity: Major
                        Found in LibreNMS/Device/YamlDiscovery.php - About 30 mins to fix

                          Avoid too many return statements within this method.
                          Open

                                              return current($pre_cache[$name]);
                          Severity: Major
                          Found in LibreNMS/Device/YamlDiscovery.php - About 30 mins to fix

                            Avoid too many return statements within this method.
                            Open

                                    return $default;
                            Severity: Major
                            Found in LibreNMS/Device/YamlDiscovery.php - About 30 mins to fix

                              Avoid too many return statements within this method.
                              Open

                                              return $pre_cache[$name];
                              Severity: Major
                              Found in LibreNMS/Device/YamlDiscovery.php - About 30 mins to fix

                                The method discover() has an NPath complexity of 1778. The configured NPath complexity threshold is 200.
                                Open

                                    public static function discover(OS $os, $class, $yaml_data)
                                    {
                                        $pre_cache = $os->preCache();
                                        $device = $os->getDeviceArray();
                                        $items = [];
                                Severity: Minor
                                Found in LibreNMS/Device/YamlDiscovery.php by phpmd

                                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 getValueFromData() has an NPath complexity of 2400. The configured NPath complexity threshold is 200.
                                Open

                                    public static function getValueFromData($name, $index, $discovery_data, $pre_cache, $default = null)
                                    {
                                        if (isset($discovery_data[$name])) {
                                            $name = $discovery_data[$name];
                                        }
                                Severity: Minor
                                Found in LibreNMS/Device/YamlDiscovery.php by phpmd

                                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 preCache() has a Cyclomatic Complexity of 15. The configured cyclomatic complexity threshold is 10.
                                Open

                                    public static function preCache(OS $os)
                                    {
                                        // Pre-cache data for later use
                                        $pre_cache = [];
                                        $device = $os->getDeviceArray();
                                Severity: Minor
                                Found in LibreNMS/Device/YamlDiscovery.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

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

                                    public static function canSkipItem($value, $index, array $yaml_item_data, array $group_options, array $pre_cache = []): bool
                                    {
                                        $skip_values = array_replace((array) ($group_options['skip_values'] ?? []), (array) ($yaml_item_data['skip_values'] ?? []));
                                
                                        foreach ($skip_values as $skip_value) {
                                Severity: Minor
                                Found in LibreNMS/Device/YamlDiscovery.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

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

                                    public static function getValueFromData($name, $index, $discovery_data, $pre_cache, $default = null)
                                    {
                                        if (isset($discovery_data[$name])) {
                                            $name = $discovery_data[$name];
                                        }
                                Severity: Minor
                                Found in LibreNMS/Device/YamlDiscovery.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

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

                                    public static function discover(OS $os, $class, $yaml_data)
                                    {
                                        $pre_cache = $os->preCache();
                                        $device = $os->getDeviceArray();
                                        $items = [];
                                Severity: Minor
                                Found in LibreNMS/Device/YamlDiscovery.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

                                The class YamlDiscovery has a coupling between objects value of 13. Consider to reduce the number of dependencies under 13.
                                Open

                                class YamlDiscovery
                                {
                                    /**
                                     * @param  OS  $os
                                     * @param  DiscoveryItem|string  $class
                                Severity: Minor
                                Found in LibreNMS/Device/YamlDiscovery.php by phpmd

                                CouplingBetweenObjects

                                Since: 1.1.0

                                A class with too many dependencies has negative impacts on several quality aspects of a class. This includes quality criteria like stability, maintainability and understandability

                                Example

                                class Foo {
                                    /**
                                     * @var \foo\bar\X
                                     */
                                    private $x = null;
                                
                                    /**
                                     * @var \foo\bar\Y
                                     */
                                    private $y = null;
                                
                                    /**
                                     * @var \foo\bar\Z
                                     */
                                    private $z = null;
                                
                                    public function setFoo(\Foo $foo) {}
                                    public function setBar(\Bar $bar) {}
                                    public function setBaz(\Baz $baz) {}
                                
                                    /**
                                     * @return \SplObjectStorage
                                     * @throws \OutOfRangeException
                                     * @throws \InvalidArgumentException
                                     * @throws \ErrorException
                                     */
                                    public function process(\Iterator $it) {}
                                
                                    // ...
                                }

                                Source https://phpmd.org/rules/design.html#couplingbetweenobjects

                                The method preCache uses an else expression. Else clauses are basically not necessary and you can simplify the code by not using them.
                                Open

                                                                } else {
                                                                    $snmp_flag = ['-OteQUsa'];
                                                                }
                                Severity: Minor
                                Found in LibreNMS/Device/YamlDiscovery.php by phpmd

                                ElseExpression

                                Since: 1.4.0

                                An if expression with an else branch is basically not necessary. You can rewrite the conditions in a way that the else clause is not necessary and the code becomes simpler to read. To achieve this, use early return statements, though you may need to split the code it several smaller methods. For very simple assignments you could also use the ternary operations.

                                Example

                                class Foo
                                {
                                    public function bar($flag)
                                    {
                                        if ($flag) {
                                            // one branch
                                        } else {
                                            // another branch
                                        }
                                    }
                                }

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

                                The method getValueFromData uses an else expression. Else clauses are basically not necessary and you can simplify the code by not using them.
                                Open

                                            } else {
                                                return $pre_cache[$name];
                                            }
                                Severity: Minor
                                Found in LibreNMS/Device/YamlDiscovery.php by phpmd

                                ElseExpression

                                Since: 1.4.0

                                An if expression with an else branch is basically not necessary. You can rewrite the conditions in a way that the else clause is not necessary and the code becomes simpler to read. To achieve this, use early return statements, though you may need to split the code it several smaller methods. For very simple assignments you could also use the ternary operations.

                                Example

                                class Foo
                                {
                                    public function bar($flag)
                                    {
                                        if ($flag) {
                                            // one branch
                                        } else {
                                            // another branch
                                        }
                                    }
                                }

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

                                The method canSkipItem uses an else expression. Else clauses are basically not necessary and you can simplify the code by not using them.
                                Open

                                                } else {
                                                    // oid previously fetched from the device
                                                    $tmp_value = static::getValueFromData($skip_value['oid'], $index, $yaml_item_data, $pre_cache);
                                                    if (str_contains($skip_value['oid'], '.')) {
                                                        [$skip_value['oid'], $targeted_index] = explode('.', $skip_value['oid'], 2);
                                Severity: Minor
                                Found in LibreNMS/Device/YamlDiscovery.php by phpmd

                                ElseExpression

                                Since: 1.4.0

                                An if expression with an else branch is basically not necessary. You can rewrite the conditions in a way that the else clause is not necessary and the code becomes simpler to read. To achieve this, use early return statements, though you may need to split the code it several smaller methods. For very simple assignments you could also use the ternary operations.

                                Example

                                class Foo
                                {
                                    public function bar($flag)
                                    {
                                        if ($flag) {
                                            // one branch
                                        } else {
                                            // another branch
                                        }
                                    }
                                }

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

                                The method discover uses an else expression. Else clauses are basically not necessary and you can simplify the code by not using them.
                                Open

                                                        } else {
                                                            $current_data[$name] = $value;
                                                        }
                                Severity: Minor
                                Found in LibreNMS/Device/YamlDiscovery.php by phpmd

                                ElseExpression

                                Since: 1.4.0

                                An if expression with an else branch is basically not necessary. You can rewrite the conditions in a way that the else clause is not necessary and the code becomes simpler to read. To achieve this, use early return statements, though you may need to split the code it several smaller methods. For very simple assignments you could also use the ternary operations.

                                Example

                                class Foo
                                {
                                    public function bar($flag)
                                    {
                                        if ($flag) {
                                            // one branch
                                        } else {
                                            // another branch
                                        }
                                    }
                                }

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

                                Avoid unused local variables such as '$device'.
                                Open

                                        $device = $os->getDeviceArray();
                                Severity: Minor
                                Found in LibreNMS/Device/YamlDiscovery.php by phpmd

                                UnusedLocalVariable

                                Since: 0.2

                                Detects when a local variable is declared and/or assigned, but not used.

                                Example

                                class Foo {
                                    public function doSomething()
                                    {
                                        $i = 5; // Unused
                                    }
                                }

                                Source https://phpmd.org/rules/unusedcode.html#unusedlocalvariable

                                Avoid unused local variables such as '$table_name'.
                                Open

                                            foreach ($pre_cache as $table_name => $table) {
                                Severity: Minor
                                Found in LibreNMS/Device/YamlDiscovery.php by phpmd

                                UnusedLocalVariable

                                Since: 0.2

                                Detects when a local variable is declared and/or assigned, but not used.

                                Example

                                class Foo {
                                    public function doSomething()
                                    {
                                        $i = 5; // Unused
                                    }
                                }

                                Source https://phpmd.org/rules/unusedcode.html#unusedlocalvariable

                                TODO found
                                Open

                                        // TODO change to exclude os with pre-cache php file, but just exclude them by hand for now (like avtech)
                                Severity: Minor
                                Found in LibreNMS/Device/YamlDiscovery.php by fixme

                                Avoid variables with short names like $os. Configured minimum length is 3.
                                Open

                                    public static function computeNumericalOID(OS $os, array $data): string
                                Severity: Minor
                                Found in LibreNMS/Device/YamlDiscovery.php by phpmd

                                ShortVariable

                                Since: 0.2

                                Detects when a field, local, or parameter has a very short name.

                                Example

                                class Something {
                                    private $q = 15; // VIOLATION - Field
                                    public static function main( array $as ) { // VIOLATION - Formal
                                        $r = 20 + $this->q; // VIOLATION - Local
                                        for (int $i = 0; $i < 10; $i++) { // Not a Violation (inside FOR)
                                            $r += $this->q;
                                        }
                                    }
                                }

                                Source https://phpmd.org/rules/naming.html#shortvariable

                                Avoid variables with short names like $os. Configured minimum length is 3.
                                Open

                                    public static function preCache(OS $os)
                                Severity: Minor
                                Found in LibreNMS/Device/YamlDiscovery.php by phpmd

                                ShortVariable

                                Since: 0.2

                                Detects when a field, local, or parameter has a very short name.

                                Example

                                class Something {
                                    private $q = 15; // VIOLATION - Field
                                    public static function main( array $as ) { // VIOLATION - Formal
                                        $r = 20 + $this->q; // VIOLATION - Local
                                        for (int $i = 0; $i < 10; $i++) { // Not a Violation (inside FOR)
                                            $r += $this->q;
                                        }
                                    }
                                }

                                Source https://phpmd.org/rules/naming.html#shortvariable

                                Avoid variables with short names like $os. Configured minimum length is 3.
                                Open

                                    public static function discover(OS $os, $class, $yaml_data)
                                Severity: Minor
                                Found in LibreNMS/Device/YamlDiscovery.php by phpmd

                                ShortVariable

                                Since: 0.2

                                Detects when a field, local, or parameter has a very short name.

                                Example

                                class Something {
                                    private $q = 15; // VIOLATION - Field
                                    public static function main( array $as ) { // VIOLATION - Formal
                                        $r = 20 + $this->q; // VIOLATION - Local
                                        for (int $i = 0; $i < 10; $i++) { // Not a Violation (inside FOR)
                                            $r += $this->q;
                                        }
                                    }
                                }

                                Source https://phpmd.org/rules/naming.html#shortvariable

                                Avoid variables with short names like $op. Configured minimum length is 3.
                                Open

                                                $op = $skip_value['op'] ?? '!=';
                                Severity: Minor
                                Found in LibreNMS/Device/YamlDiscovery.php by phpmd

                                ShortVariable

                                Since: 0.2

                                Detects when a field, local, or parameter has a very short name.

                                Example

                                class Something {
                                    private $q = 15; // VIOLATION - Field
                                    public static function main( array $as ) { // VIOLATION - Formal
                                        $r = 20 + $this->q; // VIOLATION - Local
                                        for (int $i = 0; $i < 10; $i++) { // Not a Violation (inside FOR)
                                            $r += $this->q;
                                        }
                                    }
                                }

                                Source https://phpmd.org/rules/naming.html#shortvariable

                                There are no issues that match your filters.

                                Category
                                Status