Esempio n. 1
0
File: CRAP.php Progetto: swk/bluebox
 public function apply(PHPUnit_Util_Metrics $metrics)
 {
     $numCrappyMethods = 0;
     $numMethods = 0;
     foreach ($metrics->getClasses() as $class) {
         $methods = $class->getMethods();
         foreach ($methods as $method) {
             if ($method->getCrapIndex() > $this->threshold[1]) {
                 $numCrappyMethods++;
             }
         }
         $numMethods += count($methods);
     }
     if ($numMethods > 0) {
         $percent = $numCrappyMethods / $numMethods * 100;
     } else {
         $percent = 0;
     }
     if ($percent > $this->threshold[0]) {
         return sprintf("More than %01.2f%% of the project's methods have a Change Risk " . 'Analysis and Predictions (CRAP) index that is above the threshold ' . "of %d.\n" . 'The CRAP index of a function or method uses cyclomatic complexity ' . 'and code coverage from automated tests to help estimate the ' . 'effort and risk associated with maintaining legacy code. A CRAP ' . 'index over 30 is a good indicator of crappy code.', $this->threshold[0], $this->threshold[1]);
     }
 }