Reinventar la rueda

Descripci贸n

"Reinventar la rueda" se considera a menudo ineficiente y es importante utilizar recursos de c贸digo abierto o aumentar los recursos compartidos en una organizaci贸n. Sin embargo, depender del c贸digo alojado por alguien desconocido puede causar problemas de mantenimiento. En casos en los que es necesario depender de una gran dependencia como una biblioteca o un marco, puede ser preferible reinventar la rueda.

Este patr贸n est谩 inspirado en una publicaci贸n de blog de Matt Rickard sobre tener un GitHub Copilot.

Prefiere copiar un poco a depender de un poco En lugar de vender en left-pad como una dependencia, usa GitHub Copilot para generar la funci贸n. Hay beneficios al usar bibliotecas gen茅ricas probadas en la batalla, pero tambi茅n beneficios al traer un c贸digo simple en el 谩rbol.

Problema

驴Has o铆do hablar del problema de left-pad? En 2016, una biblioteca llamada left-pad fue eliminada de npm, lo que hizo que las famosas bibliotecas que dependen de ella se rompieran. Left-pad es una biblioteca JavaScript simple que rellena el lado izquierdo de una cadena con un n煤mero especificado de caracteres o espacios si no se especifican caracteres. Es una implementaci贸n simple con solo alrededor de 10 l铆neas de c贸digo excluyendo las l铆neas en blanco.

Existen muchos enfoques para evitar reinventar la rueda, como la fuente interna y el intercambio de propiedad de c贸digo en XP. Sin embargo, tambi茅n es importante considerar el c贸digo externo que tiene un impacto significativo. Cuando el alcance del c贸digo proporcionado es muy limitado, puede ser mejor mantenerlo interno en lugar de depender de dependencias externas.

Contexto

GitHub Copilot es experto en generar c贸digo simple. Si bien algunos argumentan que es mejor evitar las dependencias por completo, eso se aplica a las dependencias que tienen relaciones interdependientes en la l贸gica empresarial y la implementaci贸n. Para las funciones sin estado o aquellas que solo dependen de un lado, es posible crearlas utilizando GitHub Copilot.

Soluci贸n

El tama帽o de las dependencias puede determinar si es necesario reinventar la rueda. Si una dependencia es peque帽a y tiene un impacto limitado, puede ser beneficioso reinventar la rueda. El problema de left-pad es un ejemplo de esto.

Last updated