Oui, je me souviens avoir lu ton doc. Si je me souviens bien, tu déclenchais des exceptions pour arrêter la recherche d'une branche identifiée comme étant une impasse.
Tu mettais combien de temps déjà pour résoudre AI-Escargot ? Tu as regardé les résultats du défi ?
Je sais. Mais ce que je veux faire remarquer c'est qu'à force de dire "les perfs et l'optimisation on s'en fou, on verra ça dans un deuxème temps" on se retrouve rapidement à faire n'importe quoi. Et ayant une bonne dizaine d'années d'expérience professionnelle, je peux te garantir que quand je dis n'importe quoi, c'est vraiment n'importe quoi !
Genre j'ai une boucle sur 50 lignes de facture. Je fais un calcul (toujours le même) qui consiste à multiplier une valeur par une constante dans une table de la base de données. Je fais ce calcul trois fois par ligne.
Et bien au lieu de charger la constante avant la boucle, je fais la requête SQL à chaque fois que j'utilise la valeur !
Tout ça parce que c'est plus lisible d'écrire une fonction qui renvoie la valeur de la constante que de faire la requête. Et que mémoriser le résultat de la fonction dans une variable, ça n'apporte rien question lisibilité...
Sauf qu'en cachant le code de cette façon, on oublie qu'il fait quelque chose...
En 3 lignes, le développeur en question a ruiné deux ans d'efforts d'optimisation. Comme ça venait en même temps qu'une évolution fonctionnelle, ils ont tous dis "c'est lent, c'est normal, c'est ce qu'on nous a demandé, on verra les perfs après si les utilisateurs gueules".
Ils ont juste oublié que les utilisateurs se plaignaient déjà des perfs...
Partager