Cloud Code Functions
Codekomplexitätsanalyse für Cloud-Funktionen mit Plato
10 min
wie man einen bericht erstellt, der die komplexität ihres cloud codes zeigt einführung dieser abschnitt wird ihnen beibringen, einen bericht über die codekomplexität ihres cloud codes mit hilfe von plato zu generieren cloud code muss von anfang an effizient sein da er sehr oft aufgerufen wird, kann eine leicht schlechtere leistung ein großes problem werden und ihre produktionsumgebung stark beeinträchtigen wenn sie sich die zeit nehmen, ihren cloud code effizient zu gestalten, werden sie in der lage sein, mehr anfragen mit kleineren servern zu bedienen, was im laufe der zeit zu erheblichen einsparungen führen kann andererseits kann schlecht gestalteter cloud code nur auf größeren, teureren maschinen skalieren, was ebenfalls einschränkungen hat diese situation kann und wird wahrscheinlich zur notwendigkeit führen, code neu zu schreiben und im laufe der zeit mehr ausgaben zu haben bitte nehmen sie sich zeit, um zu testen, lasttests durchzuführen und ständig berichte über die codekomplexität zu überprüfen voraussetzungen um dieses tutorial abzuschließen, benötigen sie eine lokale umgebung mit installiertem node js, um unit tests anzuwenden sie können dem offiziellen nodejs tutorial folgen, um node js erfolgreich in ihrem terminal zu installieren eine app, die bei back4app erstellt wurde folgen sie dem tutorial zum erstellen einer neuen app um zu lernen, wie man eine app bei back4app erstellt back4app befehlszeile, die mit dem projekt konfiguriert ist folgen sie dem tutorial zur einrichtung von cloud code um zu lernen, wie man cloud code für ein projekt einrichtet zuerst müssen wir über plato sprechen wir beginnen normalerweise mit der entwicklung, indem wir eine kleinere menge von funktionen erstellen, die ein großes problem in kleinere, leichter zu lösende probleme aufteilen dieser ansatz ist normalerweise in ordnung und diese anfänglichen kleineren funktionen wachsen im laufe der zeit, wodurch komplexere operationen durchgeführt und mit mehr daten umgegangen wird wenn die daten in ihrer anwendung wachsen, werden rechenintensive aufgaben wie schleifen und rekursive aufrufe immer häufiger aufgerufen, was dazu neigt, die anwendung zu verlangsamen in schweren fällen kann es sogar die anwendung vollständig einfrieren hier kommt plato https //www npmjs com/package/plato ins spiel plato https //www npmjs com/package/plato ist ein tool zur visualisierung von javascript quellcode, statischer analyse und komplexität, das berichte erstellt, die zeigen, wie komplex ihre anwendung wird und wo sie verbesserungen vornehmen können, um prozesse potenziell zu beschleunigen 1 installation von plato wenn sie nodejs https //nodejs org/en/download/package manager/ und npm https //www npmjs com/ auf ihrem system installiert haben, ist die installation von plato https //www npmjs com/package/plato so einfach wie das eingeben wenn nicht, installieren sie diese bitte, bevor sie fortfahren 2 ausführen von plato das ausführen von plato https //www npmjs com/package/plato nach der installation besteht darin, den folgenden befehl aus dem verzeichnis einzugeben, in dem sich ihr cloud code befindet die optionen bedeuten r rekursiv, was bedeutet, dass es in verzeichnisse und unterverzeichnisse geht, um nach dateien zu suchen d myreportfolder (ausgabe) verzeichnis plato wird ein verzeichnis mit dem namen myreportfolder myreportfolder erstellen, in dem es seine ergebnisse speichert t “mein bericht für diese app” titel plato wird diesen bericht mein bericht für diese app mein bericht für diese app dies ist nützlich, um im laufe der zeit mehrere berichte zu erstellen und den überblick zu behalten x json json dateien ausschließen sie können plato anweisen, dateitypen zu ignorieren, damit es schneller läuft js nach allem mit der erweiterung js suchen, das ausgewertet werden soll 3 ergebnisse erhalten im myreportfolder myreportfolder erstellt durch den obigen befehl finden sie eine index html index html mit dem bericht öffnen sie diese datei in einem browser und sie werden etwas wie dies finden in meinem fall hatte ich nur eine datei mit dem namen main js main js , aber je nach ihrem code können sie mehr dateien haben scrollen sie nach unten zum dateien dateien abschnitt und klicken sie auf den dateinamen, den sie öffnen möchten (main js in meinem fall) dies öffnet den bericht für diese datei die wartbarkeit ist ein wert zwischen 0 und 100, der die relative leichtigkeit der wartung des codes darstellt ein hoher wert bedeutet bessere wartbarkeit das schwierigkeitsmaß bezieht sich auf die schwierigkeit, das programm zu schreiben oder zu verstehen geschätzte fehler sind halstead’s gelieferte bugs, eine schätzung für die anzahl der fehler in der implementierung das funktionsgewicht hat zwei metriken nach komplexität diese metrik zählt die anzahl der unterschiedlichen pfade durch einen codeblock niedrigere werte sind besser nach sloc quellzeilen des codes / logische zeilen des codes jetzt können sie nach unten scrollen und die warnungen und möglichen lösungen ansehen, die vorgeschlagen werden in meinem fall sagt es, dass die syntax der pfeilfunktion (=>) nur in es6 verfügbar ist (verwenden sie 'esversion 6') die syntax der pfeilfunktion (=>) nur in es6 verfügbar ist (verwenden sie 'esversion 6') , was kein problem ist aber lassen sie uns etwas sehr ineffizienten code zu dieser funktion hinzufügen und neu bewerten 1function getsquarerootof(numberone, numbertwo, numberthree){ 2 var finalresult; 3 4 var i = 0; 5 var j = 0; 6 var k = 0; 7 8 for (i = 0; i < 100; i ++){ 9 for (j = 0; j < 100; i ++){ 10 for (k = 0; k < 100; k++){ 11 var resultone = getsquarerootof(numberone); 12 var resulttwo = getsquarerootof(numbertwo); 13 var resultthree = getsquarerootof(numberthree); 14 finalresult = resultone + resulttwo + resultthree; 15 } 16 } 17 } 18} und bewerten sie das ergebnis wie wir sehen können, beträgt die komplexität dieser funktion 4, was in ordnung ist je höher die zahl, die sie erhalten, desto komplexer ist die funktion und desto mehr sollten sie sicherstellen, dass sie effizient ist plato https //www npmjs com/package/plato wird sie auch auf fehlende semikolons und andere potenzielle javascript fehler hinweisen fazit ein tool wie plato https //www npmjs com/package/plato zur überprüfung der komplexität ihres codes und zur kontinuierlichen überarbeitung des cloud codes, um so schnell und effizient wie möglich zu sein, kann im laufe der zeit zu erheblichen einsparungen führen sie und alle entwickler sollten diesen schritt oder etwas ähnliches in ihren entwicklungsprozess einbeziehen, um sicherzustellen, dass sie das beste aus ihren anfragen herausholen