Skip to content

Commit 41c3a33

Browse files
committed
Add cli output
1 parent ddd5835 commit 41c3a33

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

src/Hal/Metric/Consolidated.php

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ public function __construct(Metrics $metrics)
103103
}
104104
$sum->nbClasses = count($classes);
105105
$sum->nbInterfaces = $nbInterfaces;
106+
$sum->nbPackages = count($packages);
106107

107108
foreach ($avg as &$a) {
108109
if (sizeof($a) > 0) {
@@ -112,6 +113,29 @@ public function __construct(Metrics $metrics)
112113
}
113114
}
114115

116+
$avg->distance = 0;
117+
$avg->incomingCDep = 0;
118+
$avg->incomingPDep = 0;
119+
$avg->outgoingCDep = 0;
120+
$avg->outgoingPDep = 0;
121+
$avg->classesPerPackage = 0;
122+
foreach (array_keys($packages) as $eachName) {
123+
/* @var $eachPackage PackageMetric */
124+
$eachPackage = $metrics->get($eachName);
125+
$avg->distance += $eachPackage->getDistance();
126+
$avg->incomingCDep += count($eachPackage->getIncomingClassDependencies());
127+
$avg->incomingPDep += count($eachPackage->getIncomingPackageDependencies());
128+
$avg->outgoingCDep += count($eachPackage->getOutgoingClassDependencies());
129+
$avg->outgoingPDep += count($eachPackage->getOutgoingPackageDependencies());
130+
$avg->classesPerPackage += count($eachPackage->getClasses());
131+
}
132+
$avg->distance = round($avg->distance / count($packages), 2);
133+
$avg->incomingCDep = round($avg->incomingCDep / count($packages), 2);
134+
$avg->incomingPDep = round($avg->incomingPDep / count($packages), 2);
135+
$avg->outgoingCDep = round($avg->outgoingCDep / count($packages), 2);
136+
$avg->outgoingPDep = round($avg->outgoingPDep / count($packages), 2);
137+
$avg->classesPerPackage = round($avg->classesPerPackage / count($packages), 2);
138+
115139
// sums of violations
116140
$violations = [
117141
'total' => 0,

src/Hal/Report/Cli/Reporter.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,15 @@ public function generate(Metrics $metrics)
7575
Average efferent coupling {$avg->efferentCoupling}
7676
Average instability {$avg->instability}
7777
Depth of Inheritance Tree {$metrics->get('tree')->get('depthOfInheritanceTree')}
78+
79+
Package
80+
Packages {$sum->nbPackages}
81+
Average classes per package {$avg->classesPerPackage}
82+
Average distance {$avg->distance}
83+
Average incoming class dependencies {$avg->incomingCDep}
84+
Average outgoing class dependencies {$avg->outgoingCDep}
85+
Average incoming package dependencies {$avg->incomingPDep}
86+
Average outgoing package dependencies {$avg->outgoingPDep}
7887
7988
Complexity
8089
Average Cyclomatic complexity by class {$avg->ccn}

0 commit comments

Comments
 (0)