Le 14 septembre 2017, nous avons publié une version actualisée de notre Politique de confidentialité. En utilisant video2brain.com vous vous engagez à respecter ces documents mis à jour. Veuillez donc prendre quelques minutes pour les consulter.

PHP : Le débogage et l'analyse de code

Exploiter les résultats

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Après avoir généré un rapport, il faut en étudier les chiffres. Découvrez ce que ces chiffres vous révèlent.
06:36

Transcription

Je vous propose qu'on agrandisse complètement la fenêtre pour aller regarder ce rapport et ce qu'il nous apprend sur le projet. PHPLoc est extrêmement important pour vous parce qu'il va vous permettre d'avoir des informations. Est-ce que votre code est commenté ou pas, est-ce que votre code est complexe, est-ce que vous avez beaucoup de fonctions, est-ce que c'est un code plutôt traditionnel PHP5 ou un code orienté objet en PHP7 ? On peut avoir beaucoup d'informations sur un code source. On va regarder les lignes qui sortent. Nombre de fichiers : 7 Un seul répertoire. Nombre de lignes. En lignes de codes, on a ici 89 lignes de codes. C'est un tout petit projet mais on a déjà presque une centaine de lignes. Le nombre de commentaires. On a ici 18 lignes qui sont commentées. On a 71 lignes qui ne sont pas commentées. Ça c'est quelque chose d'important pour vous parce que quand vous allez arriver sur un projet à débugger, un projet qui n'est pas documenté à 79%, c'est un projet qui va être dangereux parce que vous risquez de ne pas savoir comment l'utiliser pleinement. On peut se dire déjà que c'est un projet qui va être compliqué. Plus c'est documenté, plus c'est intéressant pour nous. Le nombre de lignes de logique. Il y a 17 lignes de logique, de code logique, de code métier. Ça c'est intéressant aussi : aucune classe. Vous voyez qu'on n'a absolument aucune classe. Si on en avait on aurait le nombre de lignes, le nombre de classes, et on aurait surtout à l'intérieur le nombre maximum de classes qui sont grosses et qui sont petites. Plus on a de grosses classes et plus ça risque d'être dangereux. Ça veut dire que le code est mal découpé. Ensuite on a ici le nombre de méthodes. On sait s’il y a beaucoup de méthodes ou peu de méthodes. Si on a très peu de classes avec beaucoup de méthodes, c'est dangereux. Si on a beaucoup de classes et beaucoup de méthodes, ça veut dire que c'est un projet qui a été fortement découpé, donc c'est très intéressant pour nous, on va avoir moins de mal à le débugger. Au niveau des fonctions, on a actuellement 8 fonctions. C'est 47% du code de notre projet qui sont des fonctions. On a aussi ici la taille par défaut de nos fonctions. On sait que c'est à peu près 2 lignes par fonction. Ce n’est pas trop mal, on a des petites fonctions. C'est mieux que si on avait 150 lignes à chaque fois. C'est vraiment une valeur intéressante. On a aussi ici des classes, des lignes de code, qui ne sont ni une classe, ni une fonction. Là on en a 9 actuellement. Moins on en a mieux ce sera, parce que plus un projet va être orienté classe, donc objet, plus ça va être intéressant pour nous à débugger. Après on va s'attarder sur ça. La complexité cyclomatique. Qu'est-ce que ça veut dire ? C'est le nombre de fois où sont utilisées des boucles et des « if », toutes ces choses qui font qu'on a de la complexité dans le code, donc des lignes de code qui ne vont pas être juste de la définition mais vraiment de la modification de contenu et beaucoup de logique dans le code. Plus vous en aurez, plus ce sera dangereux et plus ça voudra dire que vous allez avoir du mal à débugger. Ici on voit que 0,18%, ce n'est quasiment rien. Cette complexité vous allez la voir pour tout. Complexité globale, et ensuite complexité pour les classes, complexité pour les méthodes. Évidemment plus le chiffre est petit et mieux c'est, mais ça ne veut pas forcément dire que ça va être vraiment compliqué, c'est simplement la complexité du code. C'est une complexité mathématique. C'est vraiment le nombre de fois qu'on a des boucles, des conditionnels, etc. Après on a les dépendances. C'est le nombre de global et de super-global, des variables qui sont définies en global et en super-global dans le projet. Moins on en a, là encore, mieux ce sera. De même pour les attributs qui se trouvent en dessous, plus on aura d'attributs qui sont non-statiques, mieux ce sera. Parce que les attributs statiques ça ne s'utilise presque plus aujourd'hui ou alors vraiment avec parcimonie. Les nombres d'appels de méthode. Ça c'est important aussi. Pareil : en statiques et en non-statiques. Plus vous aurez des non-statiques, plus ça veut dire que le projet sera orienté objet, plus ce sera simple à débugger. Au niveau de la structure, vous allez avoir beaucoup d'informations ici. « Namespaces », là il n'y en a pas parce que c'est un projet très petit. Plus il y en a, mieux ce sera également. Les interfaces, ça veut dire qu'on aurait potentiellement des contrats à respecter dans le projet, plus il y en aura, mieux ce sera. Les traits, c'est très controversé. C'est complexe à utiliser. On ne sait jamais vraiment si on doit en mettre ou pas, si vous ne connaissez pas les traits, je vous conseille vraiment de vous renseigner sur ce sujet-là. C'est un aspect intéressant de PHP, mais ça ne s'utilise pas beaucoup. Il y a des projets qui les utilisent, par exemple le projet Laravel utilise beaucoup de traits. En l'occurrence, moins il y en aura, mieux ce sera aussi parce que c'est vraiment de la magie dans le projet et c'est compliqué. Au niveau des classes, des méthodes, etc. vous aurez toutes les informations sur les méthodes statiques et non-statiques, au niveau du scope de méthode, et surtout la visibilité de ces différentes méthodes. Plus vous aurez des méthodes non-publiques et plus vous aurez de la logique interne dans les classes, ce qui veut dire que c'est intéressant parce que ce sont des classes qui vont avoir leur propre logique, qui vont être facilement testables. Si c'est de la logique publique ça veut dire que c'est certainement appelé un peu partout et ça peut être complexe pour débugger. Au niveau des fonctions, on a le nombre de fonctions anonymes. Plus il y en aura, plus ce sera compliqué parce que ça correspond à son propre scope donc c'est un peu plus compliqué quand on doit débugger de la fonction anonyme que de la fonction nommée. Ensuite, le nombre de fonctions nommées. On en a 3 actuellement, c'est 100% du projet, on n'a rien d'autre. On finit par les constantes. Vous aurez les informations sur les classes de constantes et les constantes globales. Pour le moment, on n'en a pas dans le projet. Tout ça ce ne sont que des métriques, mais ces métriques-là vont vous permettre, au moment où vous allez mettre le pied sur un projet, de savoir exactement où vous mettez les pieds. Qu'est-ce que je vais avoir réellement dans ce projet-là ? Et est-ce que ça va être compliqué ? C'est simplement une mesure, ça ne veut pas vraiment dire que ça va être complexe dans la réalité mais ça vous donne des informations qui vous permettent de préparer le terrain. Si on a une très grosse complexité cyclomatique par exemple, on peut se dire que ça va être difficile. Espérons, si on a une complexité comme ça, avoir beaucoup de documentation, ça peut être très utile. Vous pourrez aussi utiliser ce rapport pour faire évoluer votre projet et essayer de vous rapprocher d'un état que vous déciderez correct, c'est-à-dire beaucoup de commentaires et des petites méthodes, des petites fonctions. Plus tout ça sera petit et mieux ce sera.

PHP : Le débogage et l'analyse de code

Abordez le débogage et l’optimisation avec PHP. Déterminez les actions à mener pour améliorer une application, utilisez Xdebug, réalisez des tests unitaires et fonctionnels, etc.

1h32 (24 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :23 févr. 2017

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !