Globalement, je suis d’accord mais il y a un aspect dont je suis surpris de ne pas avoir apparaître ici : spécifique vs générique. En général, la bibliothèque que l’on trouve sur Internet est beaucoup plus générique que le bout de code que l’on va refaire. Et cette différence peut être vraiment très importante en termes de quantité de code et de complexité. Et parfois, même si l’auteur de la bibliothèque est bien plus calé que soi, on peut faire un meilleur travail en recodant juste pour son besoin (de préférence, en ayant la bibliothèque en question pour bien comprendre le domaine et s’assurer que l’on n’oublie rien).

Au final, ça ne change pas qu’il y a des cas où il vaut mieux réutiliser des bibliothèques (les primitives de crypto par exemple) et d’autres ont recodé quelques fonctions permettent d’éviter une cascade de dépendances. Mais parfois, quelques fonctions recodées dans un coin seront un meilleur choix que de contribuer à la bibliothèque super géniale qui gère déjà tout plein de cas (même pas le mien). Parce que même si l’auteur est génial, qu’il a plus de temps et d’expertise, il peut se lasser fasse à un projet qui a accepté trop de nouvelles fonctionnalités dans tous les sens et qui est devenu petit à petit trop complexe à maintenir.