Les AntiPatterns sont des décisions techniques ou des choix stratégiques récurrents qui, bien qu’ils puissent sembler pertinents à court terme, alourdissent le projet ou conduisent à son échec.
Il ne s’agit pas de copier une solution trouvée sur internet et la coller telle quelle dans le projet. On sait que faire cela entraînera une erreur puisque si le contexte change la fonction change de comportement. Non le copier/Coller consiste à récupérer un morceau de code sur une page et la coller sur une autre. Evidement dupliquer un code sans faire de vérification ça va créer des erreurs.
Une fonction doit arriver à un résultat. Une fois le résultat atteint, il faut passer à
autre chose.
Par exemple : on demande une fonction qui permet de mettre toute les valeurs entière d’un tableau au
carré qu'on utilisera dans un forEach
Alors on propose ceci
C'est bien mais si l'élément n'est pas un entier
Et s'il n'y a pas d'élément dans le tableau
Etc.
Le développeur a perdu un temps. Le tableau est un tableau d'entier c'est dans le cahier des charges et un foreach sur un tableau vide ça fait un tableau vide
Les développeurs web en sont souvent victime. Sur la page du site il y a un logo dans la barre de navigation (navbar) permettant de revenir à l'accueil puis on met un lien dans la navbar permettant aussi de revenir à l'accueil au cas où cliquer sur le logo ne soit pas clair. Et sur la page il y a le fil d'ariane (breadCrumb) qui permet aussi de revenir à l'accueil car on vient forcement de là. Un bouton ou une fonction est dédié à une et une seule tâche si 2 boutons ont le même comportement ou si 2 fonctions font la même chose alors il y en a un ou une en trop.
Ça consiste à créer une structure de données complexe et détaillée qui servira de paramètre à des fonctions qui ne se serviront que d'une partie des informations de la structure.
Très bien j’ai un objet contact avec un nom, un prénom, une date de naissance et un numéro de téléphone. Et une fonction pour dire Bonjour à ce contact.
J'ai une question
à quoi me servent le nom, la date de naissance, et le téléphone dans cette fonction si je ne m'en sers pas ?
Donc voila la bonne notation.