Cloud Code Functions
Analyser la complexité du code cloud avec Plato sur Back4App
10 min
comment créer un rapport montrant la complexité de votre code cloud introduction cette section vous apprendra à générer un rapport de complexité de code de votre code cloud en utilisant plato le code cloud doit être efficace dès la conception comme il est appelé de nombreuses fois, une performance légèrement inférieure peut devenir un énorme problème et affecter gravement votre environnement de production si vous prenez le temps de concevoir votre code cloud de manière efficace, vous serez en mesure de traiter plus de demandes en utilisant des serveurs plus petits, ce qui peut entraîner d'énormes économies au fil du temps d'un autre côté, un code cloud mal conçu ne peut évoluer que sur des machines plus grandes et plus coûteuses, ce qui a également ses limites cette situation peut et conduira probablement à la nécessité de réécrire du code et à des dépenses supplémentaires au fil du temps veuillez prendre votre temps pour tester, effectuer des tests de charge et vérifier constamment les rapports sur la complexité du code prérequis pour compléter ce tutoriel, vous aurez besoin de un environnement local avec node js installé pour appliquer des tests unitaires vous pouvez suivre le tutoriel officiel de nodejs pour installer avec succès node js dans votre terminal une application créée sur back4app suivez le tutoriel créer une nouvelle application pour apprendre à créer une application sur back4app back4app command line configuré avec le projet suivez le tutoriel configurer cloud code pour apprendre à configurer le code cloud pour un projet tout d'abord, nous devons parler de plato nous commençons généralement le développement en créant un ensemble plus petit de fonctions qui décomposent un grand problème en plus petits, plus faciles à traiter cette approche est généralement acceptable et ces premières fonctions plus petites grandissent avec le temps, réalisant des opérations plus complexes et traitant plus de données à mesure que les données augmentent dans votre application, les tâches intensives en calcul telles que les boucles et les appels récursifs sont appelées de plus en plus, ce qui tend à ralentir l'application dans des cas graves, cela peut même geler complètement l'application c'est là que plato https //www npmjs com/package/plato entre en jeu plato https //www npmjs com/package/plato est un outil de visualisation de code source javascript, d'analyse statique et de complexité qui génère des rapports montrant à quel point votre application devient complexe et où apporter des corrections pour potentiellement accélérer les processus 1 installer plato si vous avez nodejs https //nodejs org/en/download/package manager/ et npm https //www npmjs com/ installés sur votre système, installer plato https //www npmjs com/package/plato est aussi simple que de taper si ce n'est pas le cas, veuillez les installer avant de continuer 2 exécuter plato exécuter plato https //www npmjs com/package/plato après l'installation consiste à taper la commande suivante depuis le répertoire où se trouve votre cloud code les options signifient r récursif, ce qui signifie qu'il ira dans les répertoires et sous répertoires à la recherche de fichiers d mondossierderapport (sortie) répertoire plato créera un répertoire nommé mondossierderapport mondossierderapport où il stockera ses résultats t “mon rapport pour cette application” titre plato nommera ce rapport mon rapport pour cette application mon rapport pour cette application cela est utile pour créer plusieurs rapports au fil du temps et garder une trace x json exclure les fichiers json vous pouvez dire à plato d'ignorer les types de fichiers afin qu'il fonctionne plus rapidement js rechercher tout ce qui a l'extension js à évaluer 3 obtenir des résultats dans le mondossierderapport mondossierderapport créé par la commande ci dessus, vous trouverez un index html index html contenant le rapport ouvrez ce fichier dans un navigateur et vous trouverez quelque chose comme ceci dans mon cas, j'avais seulement un fichier nommé main js main js , mais selon votre code, vous pouvez avoir plus de fichiers faites défiler vers le bas jusqu'à la fichiers fichiers section et cliquez sur le nom du fichier que vous souhaitez ouvrir (main js dans mon cas) cela ouvrira le rapport pour ce fichier la maintenabilité est une valeur comprise entre 0 et 100 qui représente la facilité relative de maintenance du code une valeur élevée signifie une meilleure maintenabilité la mesure de difficulté est liée à la difficulté d'écrire ou de comprendre le programme les erreurs estimées sont les bugs livrés par halstead, qui sont une estimation du nombre d'erreurs dans l'implémentation le poids de la fonction a deux métriques par complexité cette métrique compte le nombre de chemins distincts à travers un bloc de code des valeurs plus basses sont meilleures par sloc lignes de code source / lignes de code logiques maintenant, vous pouvez faire défiler vers le bas et voir les alertes et les corrections possibles qui sont suggérées dans mon cas, il est dit que la syntaxe de fonction fléchée (=>)' n'est disponible que dans es6 (utilisez 'esversion 6') la syntaxe de fonction fléchée (=>)' n'est disponible que dans es6 (utilisez 'esversion 6') , ce qui n'est pas un problème mais ajoutons un code très inefficace à cette fonction et réévaluons 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} et évaluer le résultat comme nous pouvons le voir, la complexité de cette fonction est de 4, ce qui est acceptable plus le nombre que vous obtenez est élevé, plus la fonction est complexe et plus vous devez vous assurer qu'elle est efficace plato https //www npmjs com/package/plato vous avertira également des points virgules manquants et d'autres erreurs potentielles en javascript conclusion avoir un outil tel que plato https //www npmjs com/package/plato vérifiant la complexité de votre code et retravaillant continuellement le code cloud pour qu'il soit aussi rapide et efficace que possible peut entraîner d'énormes économies au fil du temps vous et tous les développeurs devriez inclure cette étape ou quelque chose de similaire dans votre processus de développement pour vous assurer d'obtenir le meilleur rapport qualité prix lors du traitement des demandes