L'abstraction et le concret
Categories:
Récemment, je travaillais sur un outil d’exploration pour un site d’images, ce qui m’a beaucoup fait réfléchir. J’ai rapidement implémenté un prototype, puis j’ai voulu lui conférer une universalité plus large, à savoir l’abstraction, mais je me suis retrouvé à refactoriser sans arrêt. À refaire tout de zéro sans cesse, coûtant énormément de temps ; le logiciel semblait progresser, mais sans ajout de fonctionnalités, ce qui était frustrant.
Si j’avais défini dès le départ la méthode d’écriture optimale, j’aurais peut-être pris moins de détours, mais abstraire indéfiniment est sans fin et il est facile de tomber dans le piège de la sur-conception, à savoir écrire pendant deux semaines sans même sortir un prototype avec des fonctions de base. De nos jours, où l’on recherche l’effet immédiat, c’est une grave erreur.
L’adaptabilité et la fonctionnalité du logiciel doivent évoluer progressivement ensemble. Rome ne s’est pas construite en un jour. Un petit objectif par jour, et lentement, on finira par obtenir un grand arbre robuste.