Um eine Codebasis wirklich zu verstehen, müssen Sie wissen, wie locker oder gekoppelt sie gekoppelt sind und wie geeignet für Veränderungen es ist.
Codemetrix macht es zu einem Sprung, die "Kopplungsmetriken" zu berechnen:
Lesen Sie mehr darüber auf Wikipedia.
So sieht Erzfit in Bezug auf Metriken aus.

Es wird Ihnen auch helfen, einen Übersehen pro Direktorie mit Gesamtcodestellen im Projekt zu erhalten.
{
"results" : [
{
"directoryPath" : " /src/application/services " ,
"afferent" : 2 ,
"efferent" : 21 ,
"abstractions" : 0 ,
"concretions" : 1 ,
"loc" : 260 ,
"percent" : 8.51
},
{
"directoryPath" : " /src/application/utils " ,
"afferent" : 3 ,
"efferent" : 2 ,
"abstractions" : 0 ,
"concretions" : 2 ,
"loc" : 52 ,
"percent" : 1.7
},
{
"directoryPath" : " /src/domain/fitness-functions " ,
"afferent" : 14 ,
"efferent" : 79 ,
"abstractions" : 7 ,
"concretions" : 23 ,
"loc" : 1181 ,
"percent" : 38.63
},
{
"directoryPath" : " /src/domain/services " ,
"afferent" : 2 ,
"efferent" : 28 ,
"abstractions" : 0 ,
"concretions" : 2 ,
"loc" : 275 ,
"percent" : 9
},
{
"directoryPath" : " /src/errors " ,
"afferent" : 9 ,
"efferent" : 0 ,
"abstractions" : 0 ,
"concretions" : 0 ,
"loc" : 109 ,
"percent" : 3.57
},
{
"directoryPath" : " /src " ,
"afferent" : 0 ,
"efferent" : 5 ,
"abstractions" : 0 ,
"concretions" : 2 ,
"loc" : 86 ,
"percent" : 2.81
},
{
"directoryPath" : " /src/infrastructure/aws " ,
"afferent" : 20 ,
"efferent" : 28 ,
"abstractions" : 0 ,
"concretions" : 15 ,
"loc" : 684 ,
"percent" : 22.37
},
{
"directoryPath" : " /src/infrastructure/utils/io " ,
"afferent" : 3 ,
"efferent" : 7 ,
"abstractions" : 0 ,
"concretions" : 3 ,
"loc" : 40 ,
"percent" : 1.31
},
{
"directoryPath" : " /src/infrastructure/utils/math " ,
"afferent" : 12 ,
"efferent" : 0 ,
"abstractions" : 0 ,
"concretions" : 3 ,
"loc" : 27 ,
"percent" : 0.88
},
{
"directoryPath" : " /src/infrastructure/utils/string " ,
"afferent" : 22 ,
"efferent" : 0 ,
"abstractions" : 0 ,
"concretions" : 2 ,
"loc" : 25 ,
"percent" : 0.82
},
{
"directoryPath" : " /src/infrastructure/utils/time " ,
"afferent" : 10 ,
"efferent" : 2 ,
"abstractions" : 0 ,
"concretions" : 9 ,
"loc" : 83 ,
"percent" : 2.72
},
{
"directoryPath" : " /src/interfaces " ,
"afferent" : 56 ,
"efferent" : 16 ,
"abstractions" : 12 ,
"concretions" : 0 ,
"loc" : 235 ,
"percent" : 7.69
}
],
"totalLinesOfCode" : 3057 ,
"loc" : " /src/domain/fitness-functions " ,
"afferent" : " /src/interfaces " ,
"efferent" : " /src/domain/fitness-functions " ,
"abstractions" : " /src/interfaces " ,
"concretions" : " /src/domain/fitness-functions "
}Codemetrix ist völlig abhängig und ist super leicht. Es gibt auch keine Remote -Anrufe oder irgendetwas, nur alte statische Dateianalysen.
Beachten Sie auch, dass sich die aktuelle Implementierung ausschließlich auf TypeScript konzentriert, aber es sollte nicht unmöglich sein, auch andere Sprachen zu unterstützen. Seien Sie mein Gast und kommen Sie mit einer Pull -Anfrage, wenn Sie einen breiteren Sprachunterstützung wünschen!
Codemetrix geht davon aus, dass Sie den Knoten installiert haben, idealerweise einer neueren Version.
Um den Code zu erstellen und zu testen, benötigen Sie Knoten 19 oder höher.
Sie können die kompilierte Datei, dist/index.mjs und codemetrix.sh herunterladen und die folgenden Anweisungen befolgen. Das ist gut, wenn Sie nicht groß sind.
Die schönere Option besteht jedoch darin, dieses Repo zu klonen und das Skript install.sh zu verwenden.
Es wird:
.codemetrixcodemetrix.sh und dist/index.mjs in das neue Verzeichnis.zshrc eine Zeile mit einem Alias ( codemetrix ) hinzu, der das Skript ausführtFühlen Sie sich frei, das Installationsskript zu ändern, oder tun Sie es auf Ihren Weg, wenn dies nicht mit der Einrichtung des Einrichtens übereinstimmt.
Sie müssen Ihre IDE für die Aktivierung der Änderungen beziehen oder neu laden.
Führen Sie codemetrix in einem Git -Repository aus. Es wird angenommen, dass der Quellcode im src -Verzeichnis liegt.
Um es mit einem anderen Verzeichnis zu versorgen, führen Sie codemetrix YOUR_DIRECTORY aus.
Es gibt einen speziellen Beitrag.