miércoles, 27 de abril de 2016

Reutilizar código

Hay programadores que parecen tomar la reutilización de código como un mandamiento que hay que cumplir mecánicamente para ser un buen programador.

Pero, como aprendimos con los diez mandamientos, la bondad de algo no está tanto en obedecer mecánicamente sino en comprender el por qué.

Reutilizar código es importante, ¿para qué?

No es por la computadora, a quien le da igual ejecutar el mismo código repetido.

Tampoco el espacio en disco, que es generalmente muy económico.

La importancia de reutilizar código es para facilitar su mantenimiento.

Entonces, se ve con más claridad que no se trata de forzar un componente A para que pueda hacer lo mismo que otro componente B y así quedarnos con un solo componente AB cargado de lógica extra para diferenciar ambos casos y más difícil de mantener.

Más importante siempre es desarrollar componentes que realicen con claridad una función específica.

Componente A para un tipo de función. Componente B para otro tipo de función.Si se nota que hay un parecido entre A y B, una opción es factorizarlos, extraer el común componente C que ambos parecen compartir naturalmente. C es reutilizado por A y B.

Otra opción es ver a ambos como casos particulares de un componente D. D es reutilizado por A y B.

Otra opción es ver a uno como caso particular del otro. A es reutilizado por B, o viceversa.

¿Cuál elegir? El que sea más simple de mantener. El objetivo principal no es que tenga que tipearse menos o ganar el récord de menos líneas de código. No es cierto que menos código sea mejor. Si el problema no lo requiere, la obsesión por menos código se convierte más en una cuestión de gustos.

Lo que es cierto es que es el código más simple es mejor; es más fácil de comprender y compartir.

También es más fácil de mejorar porque deja más espacio mental para pensar en el siguiente paso.

El objetivo principal de reutilizar código es que sea más fácil de mantener. Que se pueda comprender con naturalidad, sin necesidad de excesiva gimnasia mental ni sofisticado debug.

En código que debe ser mantenido por humanos no se trata de «menos es más»; se trata de «más simple es mejor».

No hay comentarios:

Publicar un comentario