¿Cuál es la diferencia entre la reutilización de código y la duplicación de código?


Respuesta 1:

A medida que avanzamos hacia la arquitectura de software basada en múltiples repositorios, múltiples microservicios, etc., las duplicaciones de código se convierten en un problema creciente.

Supongamos que tiene un pequeño código llamado 'estado de usuario' que verifica si un usuario ha iniciado sesión.

Deberá usar esta función en varios lugares de su sistema de usuario (probablemente de 4 a 5 microservicios al menos). Esto crea DUPLICACIONES.

El código duplicado es muy malo, principalmente porque significa que muchos errores / actualizaciones / correcciones tendrán que realizarse en varios lugares (lo que también tiende a romper cosas). Ver más aquí.

Para evitar eso, tendrías que hacer que estas pequeñas piezas de código sean reutilizables. Puede hacerlo exportándolos desde su código y luego usarlos en diferentes repositorios.

Una forma de hacerlo es utilizando micropaquetes. Esta es una mala idea. Tomará MUCHO tiempo, esfuerzo y agregará muchas complejidades y problemas de mantenimiento.

Una mejor solución sería convertirlos en componentes de Bit. Bit es un proyecto de OSS que le permite crear y reutilizar fácilmente componentes pequeños con muy poca sobrecarga. Puede alojarlos en su máquina local o conectarse al centro comunitario de bitsrc de forma gratuita. Aquí hay un ejemplo para algunas funciones de utilidad comúnmente duplicadas hechas reusbale.

¡La mejor de las suertes!


Respuesta 2:

La reutilización de código es escribir un método / función que realiza código utilizado con frecuencia. Este método se puede utilizar tantas veces como sea necesario cuando y donde sea. Se puede encontrar un ejemplo en bibliotecas de terceros.

La duplicación de código es escribir el mismo código que realiza casi la misma función siempre que sea necesario. Esto generalmente se desaconseja, ya que el mantenimiento del proyecto será difícil, a menos que realice un seguimiento de todos los lugares donde utilizó el código repetido.


Respuesta 3:

En mi experiencia, la reutilización es cuando tienes una funcionalidad existente en el programa A que comienzas a usar en el programa B.

La duplicación es cuando usa la misma funcionalidad o casi idéntica varias veces en el mismo programa y la escribe cada vez. Por ejemplo, abre y lee un archivo y cada vez usa el mismo código para hacer esto. En su lugar, debe escribir una función genérica de 'abrir y leer archivos' que maneje esto y llame desde sus otras funciones, reduciendo la base de código.