-
Notifications
You must be signed in to change notification settings - Fork 0
Résolution des bugs et optimisation du code
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.
- 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.
- 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.
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 fichierstore.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.
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.
- Un
console.log
indiquant qu'un todo était supprimé dans le fichiercontroller.js
.
J'ai simplement supprimé la partie du code servant au traitement.
- La fonction
getFile
dans le fichierlearn.js
était appelée une seule fois pour récupérer un fichier n'existant pas, cela générait une erreur404
.
J'ai donc supprimé l'appel à la fonction ainsi que la fonction en elle-même.
- Une boucle
for
dans le fichiertemplate.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
.
- L'application ne possédait pas de
favicon
ce qui générait une erreur404
.
Je lui en ai donc ajouté un que j'ai préalablement dessiné.