src/ast/expr/ObjectExpr.php

Summary

Maintainability
A
0 mins
Test Coverage

Avoid using static access to class '\QuackCompiler\Intl\Localization' in method 'injectScope'.
Open

                throw new ScopeError(Localization::message('SCO050', [$key]));
Severity: Minor
Found in src/ast/expr/ObjectExpr.php by phpmd

StaticAccess

Since: 1.4.0

Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

Example

class Foo
{
    public function bar()
    {
        Bar::baz();
    }
}

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

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

        $operators = [];
Severity: Minor
Found in src/ast/expr/ObjectExpr.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 using QuackCompiler\Ast\Expr\count() function in while loops.
Open

        while ($index < count($this->keys)) {
            $key = $this->keys[$index];
            $value = $this->values[$index];
            if (array_key_exists($key, $defined)) {
                throw new ScopeError(Localization::message('SCO050', [$key]));
Severity: Minor
Found in src/ast/expr/ObjectExpr.php by phpmd

CountInLoopExpression

Since: 2.7.0

Using count/sizeof in loops expressions is considered bad practice and is a potential source of many bugs, especially when the loop manipulates an array, as count happens on each iteration.

Example

class Foo {

  public function bar()
  {
    $array = array();

    for ($i = 0; count($array); $i++) {
      // ...
    }
  }
}

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

The parameter $parent_scope is not named in camelCase.
Open

    public function injectScope($parent_scope)
    {
        $defined = [];
        $operators = [];
        $index = 0;
Severity: Minor
Found in src/ast/expr/ObjectExpr.php by phpmd

CamelCaseParameterName

Since: 0.2

It is considered best practice to use the camelCase notation to name parameters.

Example

class ClassName {
    public function doSomething($user_name) {
    }
}

Source

The variable $parent_scope is not named in camelCase.
Open

    public function injectScope($parent_scope)
    {
        $defined = [];
        $operators = [];
        $index = 0;
Severity: Minor
Found in src/ast/expr/ObjectExpr.php by phpmd

CamelCaseVariableName

Since: 0.2

It is considered best practice to use the camelCase notation to name variables.

Example

class ClassName {
    public function doSomething() {
        $data_module = new DataModule();
    }
}

Source

There are no issues that match your filters.

Category
Status