Résolution des bugs et optimisation du code - Hinato15/Projet-8-DAF GitHub Wiki

Résolution des bugs

Dans le projet il y avait deux bugs à corriger et voici ma proposition pour leur résolution.


  • Le premier est une faute de frappe.

L'erreur se situait dans le fichier controller.js, il était écrit adddItem au lieu de addItem.

Ma solution fut de simplement corriger l'erreur de syntaxe.

faute de frappe


  • Le deuxième introduit un conflit éventuel entre deux IDs identiques.

L'erreur se situait dans le fichier store.js, il n'y avait aucune vérification lors de la génération d'un nouvel ID, d'où la possibilité qu'au moins 2 IDs soient identiques.

J'ai donc mis en place une vérification pour que deux todos ne se retrouvent pas avec le même ID.

conflit id


  • Un troisième bug était présent dans le code lorsqu'un nouveau todo était créé.

L'erreur se situait dans le fichier index.css, les couleurs utilisées pour l'affichage du cercle à gauche des nouveaux todos et de l'icône qui indique leurs validations ne s'affichaient pas.

Ma solution fut de remplacer les couleurs utilisées ( syntaxe hexadécimal ) par des couleurs simples et fonctionnelles.

bug de couleur toggle

Optimisations

Il était aussi possible d'optimiser certaines parties du code pour ainsi rendre l'application plus performante.


  • La même boucle for était utilisée dans le fichier store.js pour parcourir deux conditions.

J'ai donc supprimé l'une d'entre elles, une seule suffit pour les deux conditions. Cela améliore la performance de notre application puisque l'on ne rentre que dans une seule boucle.

Boucle modifier 1

Il est possible de faire encore mieux. Les deux conditions ne sont pas nécessaires, une seule suffit pour obtenir le même résultat.

suppression du if


  • Un console.log indiquant qu'un todo était supprimé dans le fichier controller.js.

J'ai simplement supprimé la partie du code servant au traitement.

suppression d'un console log


  • La fonction getFile dans le fichier learn.js était appelée une seule fois pour récupérer un fichier n'existant pas, cela générait une erreur 404.

J'ai donc supprimé l'appel à la fonction ainsi que la fonction en elle-même.

suppression de getFile


  • Une boucle for dans le fichier template.js n'était pas définie de la meilleure manière.

J'ai défini la variable i dans la boucle et utilisé directement data.length au lieu de le faire passer par la variable l.

boucle améliorée


  • L'application ne possédait pas de favicon ce qui générait une erreur 404.

Je lui en ai donc ajouté un que j'ai préalablement dessiné.

favicon