jaroslavtyc/drd-plus-therugist-spells

View on GitHub

Showing 142 of 142 total issues

Modifier has 51 functions (exceeds 20 allowed). Consider refactoring.
Open

class Modifier extends StrictObject
{
use ToFlatArrayTrait;
 
/** @var ModifierCode */
Severity: Major
Found in DrdPlus/Theurgist/Spells/Modifier.php - About 7 hrs to fix

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

    public function __construct($difficultyAdditionByRealmsNotation, int $currentAddition = null)
    {
    $parts = $this->parseParts(ToString::toString($difficultyAdditionByRealmsNotation));
    if (\count($parts) === 1 && \array_keys($parts) === [0]) {
    $this->realmsChangePerAdditionStep = 1;
    DrdPlus/Theurgist/Spells/SpellParameters/AdditionByDifficulty.php on lines 33..49

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

    public function __construct($additionByDifficultyNotation, int $currentAddition = null)
    {
    $parts = $this->parseParts(ToString::toString($additionByDifficultyNotation));
    if (\count($parts) === 1 && \array_keys($parts) === [0]) {
    $this->difficultyPerAdditionStep = 1;
    DrdPlus/Theurgist/Spells/SpellParameters/FormulaDifficultyAddition.php on lines 36..52

    File Formula.php has 410 lines of code (exceeds 250 allowed). Consider refactoring.
    Open

    <?php
    declare(strict_types=1);
     
    namespace DrdPlus\Theurgist\Spells;
     
     
    Severity: Minor
    Found in DrdPlus/Theurgist/Spells/Formula.php - About 5 hrs to fix

      File Modifier.php has 375 lines of code (exceeds 250 allowed). Consider refactoring.
      Open

      <?php
      declare(strict_types=1);
       
      namespace DrdPlus\Theurgist\Spells;
       
       
      Severity: Minor
      Found in DrdPlus/Theurgist/Spells/Modifier.php - About 5 hrs to fix

        Formula has 32 functions (exceeds 20 allowed). Consider refactoring.
        Open

        class Formula extends StrictObject
        {
        use ToFlatArrayTrait;
         
        /** @var FormulaCode */
        Severity: Minor
        Found in DrdPlus/Theurgist/Spells/Formula.php - About 4 hrs to fix

          The class Modifier has an overall complexity of 74 which is very high. The configured complexity threshold is 50.
          Open

          class Modifier extends StrictObject
          {
          use ToFlatArrayTrait;
           
          /** @var ModifierCode */
          Severity: Minor
          Found in DrdPlus/Theurgist/Spells/Modifier.php by phpmd

          The class Formula has an overall complexity of 79 which is very high. The configured complexity threshold is 50.
          Open

          class Formula extends StrictObject
          {
          use ToFlatArrayTrait;
           
          /** @var FormulaCode */
          Severity: Minor
          Found in DrdPlus/Theurgist/Spells/Formula.php by phpmd

          File ModifiersTable.php has 303 lines of code (exceeds 250 allowed). Consider refactoring.
          Open

          <?php
          declare(strict_types = 1);
           
          namespace DrdPlus\Theurgist\Spells;
           
           
          Severity: Minor
          Found in DrdPlus/Theurgist/Spells/ModifiersTable.php - About 3 hrs to fix

            ModifiersTable has 27 functions (exceeds 20 allowed). Consider refactoring.
            Open

            class ModifiersTable extends AbstractFileTable
            {
            use ToFlatArrayTrait;
             
            /**
            Severity: Minor
            Found in DrdPlus/Theurgist/Spells/ModifiersTable.php - About 3 hrs to fix

              FormulasTable has 21 functions (exceeds 20 allowed). Consider refactoring.
              Open

              class FormulasTable extends AbstractFileTable
              {
              protected function getDataFileName(): string
              {
              return __DIR__ . '/data/formulas.csv';
              Severity: Minor
              Found in DrdPlus/Theurgist/Spells/FormulasTable.php - About 2 hrs to fix

                Function getParameterBonusFromModifiers has a Cognitive Complexity of 15 (exceeds 5 allowed). Consider refactoring.
                Open

                private function getParameterBonusFromModifiers(string $parameterName)
                {
                $bonusParts = [];
                foreach ($this->modifiers as $modifier) {
                if ($modifier->getModifierCode()->getValue() === ModifierCode::GATE) {
                Severity: Minor
                Found in DrdPlus/Theurgist/Spells/Formula.php - About 1 hr to fix

                Avoid excessively long variable names like $modifierRealmsAffection. Keep variable name length under 20.
                Open

                $modifierRealmsAffection = $modifier->getRealmsAffection();
                Severity: Minor
                Found in DrdPlus/Theurgist/Spells/Formula.php by phpmd

                Avoid excessively long class names like MinimalDifficultyCanNotBeGreaterThanMaximal. Keep class name length under 40.
                Open

                class MinimalDifficultyCanNotBeGreaterThanMaximal extends \InvalidArgumentException implements Logic
                {
                 
                }

                Avoid excessively long variable names like $epicenterShiftByModifiers. Keep variable name length under 20.
                Open

                $epicenterShiftByModifiers = $this->getParameterBonusFromModifiers(ModifierMutableSpellParameterCode::EPICENTER_SHIFT);
                Severity: Minor
                Found in DrdPlus/Theurgist/Spells/Formula.php by phpmd

                Avoid excessively long variable names like $getParameterWithAddition. Keep variable name length under 20.
                Open

                $getParameterWithAddition = StringTools::assembleGetterForName($parameterName . 'WithAddition');
                Severity: Minor
                Found in DrdPlus/Theurgist/Spells/Formula.php by phpmd

                Avoid excessively long class names like MinimalDifficultyCanNotBeGreaterThanMaximal. Keep class name length under 40.
                Open

                class MinimalDifficultyCanNotBeGreaterThanMaximal extends \InvalidArgumentException implements Logic
                {
                 
                }

                Avoid excessively long variable names like $formulaSpellParameterChanges. Keep variable name length under 20.
                Open

                private $formulaSpellParameterChanges;
                Severity: Minor
                Found in DrdPlus/Theurgist/Spells/Formula.php by phpmd

                Avoid excessively long variable names like $parametersDifficultyChangeSum. Keep variable name length under 20.
                Open

                $parametersDifficultyChangeSum = 0;
                Severity: Minor
                Found in DrdPlus/Theurgist/Spells/Formula.php by phpmd

                Avoid excessively long variable names like $spellTraitsDifficultyChangeSum. Keep variable name length under 20.
                Open

                $spellTraitsDifficultyChangeSum = 0;
                Severity: Minor
                Found in DrdPlus/Theurgist/Spells/Modifier.php by phpmd
                Severity
                Category
                Status
                Source
                Language