GemsTracker/gemstracker-library

View on GitHub
classes/Gems/Tracker/Respondent.php

Summary

Maintainability
C
1 day
Test Coverage
F
40%

Gems_Tracker_Respondent has 39 functions (exceeds 20 allowed). Consider refactoring.
Open

class Gems_Tracker_Respondent extends \Gems_Registry_TargetAbstract
{
    use \Gems\Translate\GenderTranslation;

    /**
Severity: Minor
Found in classes/Gems/Tracker/Respondent.php - About 5 hrs to fix

    File Respondent.php has 307 lines of code (exceeds 250 allowed). Consider refactoring.
    Open

    <?php
    
    /**
     *
     * @package    Gems
    Severity: Minor
    Found in classes/Gems/Tracker/Respondent.php - About 3 hrs to fix

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

      class Gems_Tracker_Respondent extends \Gems_Registry_TargetAbstract
      {
          use \Gems\Translate\GenderTranslation;
      
          /**
      Severity: Minor
      Found in classes/Gems/Tracker/Respondent.php by phpmd

      Function restoreTracks has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring.
      Open

          public function restoreTracks(\Gems_Util_ReceptionCode $oldCode, \Gems_Util_ReceptionCode $newCode) {
              $count      = 0;
      
              if (!$oldCode->isSuccess() && $newCode->isSuccess()) {
                  $respTracks = $this->loader->getTracker()->getRespondentTracks(
      Severity: Minor
      Found in classes/Gems/Tracker/Respondent.php - About 1 hr to fix

      Cognitive Complexity

      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

      A method's cognitive complexity is based on a few simple rules:

      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
      • Code is considered more complex for each "break in the linear flow of the code"
      • Code is considered more complex when "flow breaking structures are nested"

      Further reading

      Method refresh has 28 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          public function refresh()
          {
              $default = true;
              $filter  = array();
      
      
      Severity: Minor
      Found in classes/Gems/Tracker/Respondent.php - About 1 hr to fix

        Function refresh has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
        Open

            public function refresh()
            {
                $default = true;
                $filter  = array();
        
        
        Severity: Minor
        Found in classes/Gems/Tracker/Respondent.php - About 35 mins to fix

        Cognitive Complexity

        Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

        A method's cognitive complexity is based on a few simple rules:

        • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
        • Code is considered more complex for each "break in the linear flow of the code"
        • Code is considered more complex when "flow breaking structures are nested"

        Further reading

        Function getDate has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
        Open

            public function getDate($fieldName)
            {
                if (isset($this->_gemsData[$fieldName])) {
                    $date = $this->_gemsData[$fieldName];
        
        
        Severity: Minor
        Found in classes/Gems/Tracker/Respondent.php - About 25 mins to fix

        Cognitive Complexity

        Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

        A method's cognitive complexity is based on a few simple rules:

        • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
        • Code is considered more complex for each "break in the linear flow of the code"
        • Code is considered more complex when "flow breaking structures are nested"

        Further reading

        Function getAge has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
        Open

            public function getAge($date = null, $months = false)
            {
                $birthDate = $this->getBirthDay();
        
                if (is_null($date)) {
        Severity: Minor
        Found in classes/Gems/Tracker/Respondent.php - About 25 mins to fix

        Cognitive Complexity

        Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

        A method's cognitive complexity is based on a few simple rules:

        • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
        • Code is considered more complex for each "break in the linear flow of the code"
        • Code is considered more complex when "flow breaking structures are nested"

        Further reading

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

                $default = true;
        Severity: Minor
        Found in classes/Gems/Tracker/Respondent.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 variables with short names like $db. Configured minimum length is 3.
        Open

            protected $db;
        Severity: Minor
        Found in classes/Gems/Tracker/Respondent.php by phpmd

        ShortVariable

        Since: 0.2

        Detects when a field, local, or parameter has a very short name.

        Example

        class Something {
            private $q = 15; // VIOLATION - Field
            public static function main( array $as ) { // VIOLATION - Formal
                $r = 20 + $this->q; // VIOLATION - Local
                for (int $i = 0; $i < 10; $i++) { // Not a Violation (inside FOR)
                    $r += $this->q;
                }
            }
        }

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

        There are no issues that match your filters.

        Category
        Status