gielfeldt/iterators

View on GitHub
src/CachingIterator.php

Summary

Maintainability
A
2 hrs
Test Coverage

The class CachingIterator has 19 public methods. Consider refactoring CachingIterator to keep number of public methods under 10.
Invalid

class CachingIterator extends \ArrayIterator
{
    const CLONE_KEY = 1;
    const CLONE_CURRENT = 2;

Severity: Minor
Found in src/CachingIterator.php by phpmd

TooManyPublicMethods

Since: 0.1

A class with too many public methods is probably a good suspect for refactoring, in order to reduce its complexity and find a way to have more fine grained objects.

By default it ignores methods starting with 'get' or 'set'.

Example

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

CachingIterator has 22 functions (exceeds 20 allowed). Consider refactoring.
Open

class CachingIterator extends \ArrayIterator
{
    const CLONE_KEY = 1;
    const CLONE_CURRENT = 2;

Severity: Minor
Found in src/CachingIterator.php - About 2 hrs to fix

    Missing class import via use statement (line '175', column '63').
    Open

            $this->uncachedIterator = new TraversableIterator(new \ArrayIterator());
    Severity: Minor
    Found in src/CachingIterator.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 excessively long variable names like $uncachedIteratorCount. Keep variable name length under 20.
    Open

        private $uncachedIteratorCount;
    Severity: Minor
    Found in src/CachingIterator.php by phpmd

    LongVariable

    Since: 0.2

    Detects when a field, formal or local variable is declared with a long name.

    Example

    class Something {
        protected $reallyLongIntName = -3; // VIOLATION - Field
        public static function main( array $interestingArgumentsList[] ) { // VIOLATION - Formal
            $otherReallyLongName = -5; // VIOLATION - Local
            for ($interestingIntIndex = 0; // VIOLATION - For
                 $interestingIntIndex < 10;
                 $interestingIntIndex++ ) {
            }
        }
    }

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

    There are no issues that match your filters.

    Category
    Status