À l'époque des «bons vieux jours», lorsque nous copions des logiciels partagés sur des disquettes pour des amis, nous avons également utilisé un peu d'assemblage. Il y avait une pratique courante de «micro-optimisation», où vous regardiez et regardiez les lignes d'assemblage jusqu'à ce que vous trouviez un moyen de l'exprimer dans une instruction de moins. Il y avait même un dicton, qui était mathématiquement impossible, que " Vous pouvez toujours supprimer une instruction de plus. " Étant donné que la modification des performances d'exécution par de petits facteurs constants n'est pas un problème majeur pour (la plupart) de la programmation aujourd'hui, les programmeurs transfèrent ces micro- efforts d'optimisation ailleurs?
En d'autres termes, une meilleure pratique peut-elle être portée à un état extrême où elle n'ajoute plus rien de valeur? Et au lieu de cela, c'est perdre du temps?
Par exemple: les programmeurs perdent-ils du temps à généraliser des méthodes privées qui ne sont appelées qu'à partir d'un seul endroit? La perte de temps réduit-elle les données des cas de test? Les programmeurs sont-ils (encore) trop préoccupés par la réduction des lignes de code?
Il existe deux excellents exemples de ce que je recherche ci-dessous: (1) Passer du temps à trouver les bons noms de variables, voire à tout renommer; et (2) l'élimination de la duplication de code, même mineure et ténue.
Notez que ceci est différent de la question "Pour quoi optimisez-vous? ", Parce que je demande ce que les autres programmeurs semblent maximiser, avec la stigmatisation de ces optimisations "micro", et donc pas une utilisation productive du temps.