La reutilización de código es un método para diseñar ordenadores y otros sistemas, mediante la reutilización de código ya existente. Un sistema debe estar parcial o totalmente compuesto por partes de componentes escritos con anterioridad y/o partes de otro sistema. La reutilización de código es el principal método que se utiliza para reducir los costes de mano de obra en el desarrollo de sistemas de software complejos.
Las charlas sobre "reutilización de código" son muy populares entre los programadores y, en su mayoría, hablan de ello positivamente. Les gusta pensar que los diseños que han ideado son "universales" y "aptos para otros proyectos". Pero, ¿es cierto?

Reutilización de código: ¿merece la pena?

La reutilización de código es realmente útil si estás creando algo que planeas usar como biblioteca para múltiples proyectos. Con este método se ahorra tiempo y recursos y se reduce la reducción al utilizar recursos ya creados. La idea clave en la reutilización de código es que partes de un programa informático escrito en un momento dado pueden utilizarse en la construcción de otros programas escritos posteriormente.
Algunos de los llamados códigos de "reutilización" consisten simplemente en copiar algunos o todos los códigos de un programa existente a uno nuevo. Aunque las organizaciones pueden utilizar este enfoque, pueden enfrentarse a muchos de los mismos problemas asociados a los códigos de licencia causados por el acortamiento y la programación.

Tipos de reutilización del código

Muchos investigadores han trabajado para que el método de reutilización de código sea más rápido y sencillo. La reutilización de código se puede clasificar en
? Reutilización interna: la organización reutiliza sus propios componentes. Esto puede ser una buena decisión empresarial, ya que la organización puede querer controlar un componente que es crítico para el proyecto.
? Reutilización externa: la organización puede obtener la licencia de un componente de terceros. La licencia de un componente de terceros suele costar entre el 1% y el 20% del coste de desarrollo dentro de la empresa. El equipo también debe tener en cuenta el tiempo necesario para encontrar, estudiar e integrar el componente.
Por ejemplo, uno de los mayores mercados de plantillas es https://themeforest.net/. Aquí la gente puede comprar temas, hacer ediciones de imagen de texto y publicar el sitio como lo construirían. Aunque, no es un mal enfoque si usted es una pequeña empresa y necesita una solución rápida. La gran pregunta es: ¿y si quieres construir un sitio similar a Facebook, puedes encontrar una plantilla y reutilizarla? Incluso si puedes, la respuesta es no. Porque es difícil de adaptar a la base de código de otra persona también muy difícil de actualizar, y probablemente más fácil de iniciar un nuevo proyecto desde cero.

Ventajas e inconvenientes del método de reutilización del código

Consideremos las ventajas e inconvenientes de la reutilización de código. Nuestro objetivo es reducir costes, aumentar la fiabilidad y mejorar la coherencia.
? Coste - El coste de utilizar software existente suele ser inferior al de desarrollar un producto equivalente. El coste de comprar productos de software es menor que el de utilizar proyectos de código abierto. Aunque cambiar el código existente es más difícil que escribir uno nuevo).
? Fiabilidad - Al reescribir código, es fácil pasar por alto dos situaciones. La primera es un código funcional añadido por el autor original. La segunda es un código nuevo añadido al código fuente después de detectar un defecto en la prueba. Utilizar código probado suele ser más fiable que código nuevo.
? Coherencia - la interfaz externa proporcionada por el sistema debe ser coherente: escriba un nuevo código que pueda ser coherente con otras partes de la función del sistema.
También hay que pensar en el tamaño del proyecto. Por ejemplo, a continuación se indican las ventajas e inconvenientes de la reutilización de código para un sitio web pequeño.
Ventajas:
? Rápida comercialización.
? Precio barato (normalmente es una pequeña cuota o 10-30 USD al mes).
? A menudo incluye actualizaciones.
Desventajas:
? Su producto final no es único (parece una plantilla barata).
? A menudo poco personalizable.
? Sigues necesitando contratar a un programador o a un programador autónomo para llevar a cabo el proyecto.

Para aplicaciones complejas y de gran tamaño, la situación con la reutilización del código es diferente

Ventajas:
? Si una solución 100% se ajusta a sus necesidades y cuenta con asistencia y precios cualificados, tiene sentido utilizarla.
Desventajas:
? Todavía cuesta significativamente (un generalmente un plan de pago mensual que va a pagar para siempre).
? Va a necesitar un equipo interno para gestionar las operaciones y el desarrollo/mejoras.
? Es muy difícil trabajar con la base de código de otra persona, a veces incluso imposible, ya que puede ser muy desordenado.

Riesgos de la reutilización del código

La reutilización de código conlleva ciertos riesgos. Hay situaciones en las que puede resultar sencillamente imposible. Uno de los problemas para justificar las inversiones es que algunos directivos no dan tiempo a dominar el código antiguo. Otro riesgo potencial es la falta de comprensión del alcance y los componentes del código. Otro riesgo potencial es la incapacidad de realizar un análisis.
El deseo de comprender el código completo puede ser una tarea abrumadora, por lo que es importante dividir el código en componentes y destacar las partes clave para su reutilización. Tómese su tiempo para identificar los componentes del código que deben reutilizarse. A veces, puede ser necesario documentar completamente el código. Por ejemplo, según los requisitos normativos, pero los intentos de reutilizar y documentar todo el código no suelen ser eficaces. El objetivo principal debe ser identificar fragmentos de código para su documentación y reutilización.

Reutilización del código: cuatro claves del éxito

Los principales aspectos clave del éxito de la reutilización de código son:
1. Comprender la arquitectura del código original para identificar componentes, límites e interfaces.
2. Determinación del potencial de reutilización.
3. Evaluación del tiempo dedicado a la reutilización en comparación con la recreación de componentes.
4. Decidir sobre cada componente: qué reutilizar y cómo (sin cambios, con cambios menores o significativos).

Conclusión

Lo más importante es que es muy fácil pensar "hmmm esta solución se ajusta 80% a lo que necesito". Seguramente, es más barato limitarse a añadir funciones adicionales. Aun así, no le recomendamos que haga eso. Es más difícil ajustar la estructura y la solución existentes, cambiar el diseño y hacerlo todo bajo el código de otra persona.
La reutilización del código es posible siempre que te conformes con una solución copiada o completamente igual. En el momento en que se personaliza el código existente, resulta difícil mantener la estructura de la forma correcta. La reutilización del código no es una opción para usted si quiere tener un rendimiento excelente. Aunque el desarrollo a medida es caro, aporta calidad si elige a los desarrolladores adecuados.