src/CachingIterator.php
The class CachingIterator has 19 public methods. Consider refactoring CachingIterator to keep number of public methods under 10. Invalid
Invalid
class CachingIterator extends \ArrayIterator
{
const CLONE_KEY = 1;
const CLONE_CURRENT = 2;
- Read upRead up
- Exclude checks
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
Open
class CachingIterator extends \ArrayIterator
{
const CLONE_KEY = 1;
const CLONE_CURRENT = 2;
Missing class import via use statement (line '175', column '63'). Open
Open
$this->uncachedIterator = new TraversableIterator(new \ArrayIterator());
- Read upRead up
- Exclude checks
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
Open
private $uncachedIteratorCount;
- Read upRead up
- Exclude checks
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++ ) {
}
}
}