En général, j'évite de réinventer la roue si la fonctionnalité désirée, ou une approximation, existe dans la bibliothèque standard du langage que j'utilise.
Cependant, si je dois incorporer des bibliothèques tierces, c'est un jugement qui dépend de la popularité et de la popularité de la bibliothèque. Je veux dire, parlons-nous de Boost ou de Kick-ass String-Parsing Tools 1.0 de Bob?
Même si la bibliothèque est généralement bien connue et très estimée dans l’ensemble du secteur, elle reste une dépendance vis -à- vis de tiers . Les programmeurs accordent généralement une grande importance aux vertus de la réutilisation du code, tout en négligeant souvent le danger des dépendances. Un projet comportant trop de dépendances vis-à-vis de tiers risque de s’effondrer à long terme, dans la mesure où il évolue lentement vers un cauchemar de maintenance.
Il est donc bon d’ utiliser le code existant , mais les dépendances sont mauvaises . Malheureusement, ces deux affirmations s’opposant, l’essentiel est d’essayer de trouver le bon équilibre. C'est pourquoi vous devez identifier les dépendances acceptables . Comme je l'ai dit, tout ce qui se trouve dans la bibliothèque standard de la langue est très probablement une dépendance acceptable. Déplacement à partir de là, les bibliothèques qui sont très appréciés dans l'industrie sont aussi généralement acceptables (comme Boost C ++, ou jQuery pour Javascript) - mais ils sont encore moins souhaitable que la bibliothèque standard , car ils n'ont tendance à être moins stables que les bibliothèques normalisées .
En ce qui concerne les bibliothèques relativement inconnues (par exemple, le dernier téléchargement sur SourceForge), elles constituent des dépendances extrêmement risquées, et je recommande généralement de les éviter dans le code de production, à moins que vous ne connaissiez suffisamment le code source pour les maintenir vous-même.
Donc, c'est vraiment un exercice d'équilibre. Mais le fait est que juste dire aveuglément "Réutiliser le code bien! Réinventer la roue mal!" est une attitude dangereuse. Les avantages de l'utilisation de code tiers doivent être comparés aux inconvénients de l'introduction de dépendances.