En general, evito reinventar la rueda si la funcionalidad que deseo, o algo parecido, existe en la biblioteca estándar del lenguaje que uso.
Sin embargo, si tengo que incorporar bibliotecas de terceros, es una decisión de juicio dependiendo de cuán ampliamente utilizada y estimada sea la biblioteca. Quiero decir, ¿estamos hablando de Boost o Bob's Kick-ass String-Parsing Tools 1.0?
Incluso si la biblioteca es generalmente conocida y altamente estimada en toda la industria, sigue siendo una dependencia de terceros . Los programadores generalmente ponen un énfasis significativo en las virtudes de la reutilización del código, mientras que a menudo pasan por alto el peligro de las dependencias. Es probable que un proyecto con demasiadas dependencias de terceros se desmorone a largo plazo, ya que lentamente se convierte en una pesadilla de mantenimiento.
Por lo tanto, aprovechar el código existente es bueno , pero las dependencias son malas . Desafortunadamente, estas dos declaraciones están en desacuerdo entre sí, por lo que el truco está en encontrar el equilibrio correcto. Es por eso que necesita identificar dependencias aceptables . Como dije, cualquier cosa en la Biblioteca Estándar del lenguaje es probablemente una dependencia aceptable. Pasando de allí, las bibliotecas, que son muy apreciados en toda la industria también son generalmente aceptables (como Boost para C ++, o jQuery JavaScript) - pero todavía son menos deseables que la biblioteca estándar, ya que no tienden a ser menos estables que las bibliotecas normalizadas .
En cuanto a las bibliotecas que son relativamente desconocidas (por ejemplo, la última carga en SourceForge), estas son dependencias extremadamente riesgosas, y generalmente recomendaría evitarlas en el código de producción, a menos que esté lo suficientemente familiarizado con el código fuente para mantenerlas usted mismo.
Entonces, en realidad todo es un acto de equilibrio. Pero el punto es que solo diciendo a ciegas "¡Reutilización del código es buena! ¡Reinventar la rueda es mala!" Es una actitud peligrosa. Los beneficios de aprovechar el código de terceros deben sopesarse frente a las desventajas de introducir dependencias.