SCROLL

Agosto 2023

Reúso de código fuente ¿es necesario reinventar la rueda?

Reúso de código fuente ¿es necesario reinventar la rueda?

¿Vale la pena crear algo personalizado cuando el mercado ofrece algo exactamente igual a un buen costo? o es más, ¿existiendo código similar de uso libre es necesario crear uno desde cero?

 

En el mundo de la programación, los encargados de software siempre deben cuestionarse ¿cuál es la mejor manera de ahorrar recursos y cuál es el límite de este ahorro?, eso nos lleva a la pregunta: ¿es mejor crear tu propio código desde cero o aprovechar las soluciones preexistentes en forma de frameworks, scripts y códigos ya hechos?

 

Entendiendo el uso del código en frameworks y aplicaciones existentes

 

Como sabemos, el código es el corazón y alma de cada proyecto de software. Tanto los frameworks como los códigos en aplicaciones ya existentes son bloques fundamentales en el edificio de tu aplicación.

 

Los frameworks, funcionan como esqueletos predefinidos a los que ya solo hay que modificarles algunos aspectos para que se vean y funcionen correctamente, estos agilizan la construcción al proporcionar estructuras completas, componentes e instrucciones establecidas.

 

Por otro lado, las aplicaciones ya hechas representan un resultado de esfuerzos previos, para necesidades específicas. Hechos por alguna empresa o individuo que por lo general quiere monetizar de alguna forma el uso o distribución de este software.

 

Beneficios de la reutilización:

 

La reutilización de códigos y frameworks no solo ahorra tiempo, sino que también acelera el proceso de desarrollo. Permite a los desarrolladores concentrarse en la lógica única y en la diferenciación de su aplicación en lugar de invertir tiempo en tareas comunes. Además, se aprovecha la experiencia y el conocimiento acumulado de la comunidad y se reduce el riesgo de errores repetitivos.

 

Reutilizar es particularmente útil en situaciones donde el tiempo de lanzamiento es clave, como en el desarrollo de prototipos o en la competencia por llegar al mercado primero.

 

uso de frameworks

 

Limitaciones de la reutilización de código o frameworks

 

Los códigos siempre tienen un autor, el cúal tiene cierta metodología de trabajo, conocimientos y gustos plasmados en su propio código, por esto hay límites inherentes a la flexibilidad y personalización cuando se utiliza un enfoque predefinido.

 

Los frameworks, aunque pueden proporcionar soluciones rápidas y estructuradas, pueden presentar restricciones en cuanto a la adaptabilidad a requisitos específicos y usar códigos en aplicaciones ya hechas también puede ser problemático si esta no se puede ajustar  perfectamente a tus necesidades.

 

Además de esto, es bien sabido que un programador no siempre documenta su trabajo, y aunque sea una mala práctica, podemos encontrarnos con que lo que requerimos, no está bien documentados y será necesario improvisar soluciones en la marcha.

 

Al emplear códigos de aplicaciones existentes, es crucial asegurarse de que estén perfectamente alineados y documentados. Si la aplicación original abordaba diferentes objetivos o necesidades, podrías enfrentar problemas de integración y eficiencia al intentar incorporar su código en tu proyecto.

 

Los beneficios de crear código desde cero

 

A pesar de las ventajas de la reutilización, existe un poderoso atractivo en crear código desde cero. Este enfoque te brinda una hoja en blanco en la que plasmar tu visión sin restricciones.

 

Al diseñar y desarrollar tu propio código, tienes la oportunidad de plasmar tus ideas exactamente como las imaginas. Desde la arquitectura hasta los detalles de implementación, tienes control total sobre cada aspecto, lo que te permite crear soluciones altamente personalizadas y adaptadas a tus necesidades específicas.

 

La creación desde cero abre puertas a la innovación. Puedes abordar problemas de manera única, experimentar con nuevas ideas y enfoques, y crear soluciones que realmente destaquen en un mercado saturado. Al no estar limitado por las convenciones de estructuras preexistentes, puedes forjar tu propio camino hacia las soluciones como más se te acomode.

 

uso de scripts

 

La necesidad de crear nuevamente: ¿Sí o No?

 

La elección entre reutilización y creación desde cero depende de la naturaleza de tu proyecto. En algunos casos, la adaptación de soluciones existentes puede ser suficiente para cumplir tus objetivos. En otros, la innovación personalizada es la clave para el éxito. Evaluar las necesidades y las metas de tu proyecto es fundamental para tomar la decisión correcta.

 

Aunque es tentador partir desde cero, es importante considerar que la innovación no siempre implica la creación completa de nuevos componentes. A menudo, la innovación puede manifestarse en cómo se combinan y aplican soluciones existentes de manera única y efectiva.

 

A final de cuentas, Steve Jobs no hubiera podido crear Apple si aún no hubieran existido las pantallas o Henry Ford los primeros automóviles si antes no hubiera existido la rueda.

 

Los desafíos del plagio en el código

 

Algo con lo que hay que tener cuidado a la hora de reusar código es el plagio, la reutilización excesiva y desautorizada de códigos puede tener consecuencias legales y éticas perjudiciales.

 

Si bien existe una cantidad enorme de código abierto, es necesario ver cuáles son las peticiones del autor, las que pueden ser desde pagar una cantidad por el uso de su código o bien simplemente dar créditos por el uso de este.

 

Verificando la integridad del código ajeno con modificaciones

 

Si decides aprovechar códigos existentes y realizar modificaciones, asegurarte de que el código mantenga su integridad es una prioridad.

 

La depuración y las pruebas exhaustivas son esenciales para asegurarte de que las modificaciones no introduzcan errores o conflictos. Además, documentar las alteraciones realizadas es crucial para mantener la claridad y facilitar futuras actualizaciones.

 

En la dinámica ecuación del desarrollo de software, la elección entre crear y reutilizar es un desafío que enfrentan todos los desarrolladores. La clave reside en comprender a fondo las necesidades específicas de tu proyecto, evaluar las ventajas y desventajas de cada enfoque, y tomar una decisión informada.

 

Ya sea creando código desde cero o modificando sobre cimientos existentes, ¡Elige sabiamente y sigue construyendo!

 

Autor: Jordy Jiménez (Front-End Developer)