librenms/librenms

View on GitHub
LibreNMS/OS/Traits/BridgeMib.php

Summary

Maintainability
B
4 hrs
Test Coverage

Method discoverStpInstances has 49 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    public function discoverStpInstances(?string $vlan = null): Collection
    {
        $protocol = SnmpQuery::get('BRIDGE-MIB::dot1dStpProtocolSpecification.0')->value();
        // 1 = unknown (mstp?), 3 = ieee8021d

Severity: Minor
Found in LibreNMS/OS/Traits/BridgeMib.php - About 1 hr to fix

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

        public function discoverStpPorts(Collection $stpInstances): Collection
        {
            $ports = new Collection;
            foreach ($stpInstances as $instance) {
                $vlan_ports = SnmpQuery::context("$instance->vlan", 'vlan-')
    Severity: Minor
    Found in LibreNMS/OS/Traits/BridgeMib.php - About 1 hr to fix

      Avoid too many return statements within this method.
      Open

              return $ports;
      Severity: Major
      Found in LibreNMS/OS/Traits/BridgeMib.php - About 30 mins to fix

        Avoid too many return statements within this method.
        Open

                            return true;
        Severity: Major
        Found in LibreNMS/OS/Traits/BridgeMib.php - About 30 mins to fix

          Missing class import via use statement (line '75', column '25').
          Open

                  $instance = new \App\Models\Stp([
          Severity: Minor
          Found in LibreNMS/OS/Traits/BridgeMib.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

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

              private function designatedPort(string $dp): int
          Severity: Minor
          Found in LibreNMS/OS/Traits/BridgeMib.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