SU-HKKU/cardinal_service_profile

View on GitHub
modules/cardinal_service_rest/src/Plugin/rest/resource/TermsUsedResource.php

Summary

Maintainability
A
0 mins
Test Coverage
A
95%

Method getFieldTermsData has 31 lines of code (exceeds 25 allowed). Consider refactoring.
Wontfix

  protected function getFieldTermsData(FieldConfigInterface $field, $include_children = FALSE) {
    $term_storage = $this->entityTypeManager->getStorage('taxonomy_term');
    $node_storage = $this->entityTypeManager->getStorage('node');

    $data = [];

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

    class TermsUsedResource extends ResourceBase {
    
      const ENTITY_TYPE = 'node';
    
      /**

    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

    Missing class import via use statement (line '192', column '39').
    Open

        $term_ids = iterator_to_array(new \RecursiveIteratorIterator(new \RecursiveArrayIterator($term_ids)), FALSE);

    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

    Missing class import via use statement (line '192', column '70').
    Open

        $term_ids = iterator_to_array(new \RecursiveIteratorIterator(new \RecursiveArrayIterator($term_ids)), FALSE);

    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

    Argument 1 (field) is \Drupal\field\Entity\FieldConfig but \Drupal\cardinal_service_rest\Plugin\rest\resource\TermsUsedResource::getFieldTermsData() takes \Drupal\field\FieldConfigInterface defined at /code/modules/cardinal_service_rest/src/Plugin/rest/resource/TermsUsedResource.php:130
    Invalid

            $data[$field_name] = $this->getFieldTermsData($field_definition, $include_children);

    Doc comment short description must start with a capital letter
    Invalid

       * {@inheritDoc}

    Doc comment short description must end with a full stop
    Invalid

       * {@inheritDoc}

    Doc comment short description must end with a full stop
    Invalid

       * {@inheritDoc}

    Doc comment short description must start with a capital letter
    Invalid

       * {@inheritDoc}

    Doc comment short description must end with a full stop
    Invalid

       * {@inheritDoc}

    Doc comment short description must start with a capital letter
    Invalid

       * {@inheritDoc}

    There are no issues that match your filters.

    Category
    Status