0%
Módulos reutilizables, y cuándo abstenerse de crearlos

Módulos

La abstracción que evita la copia, o la que le encierra.

10-15 min

Módulos reutilizables, y cuándo abstenerse de crearlos

Casi siempre se crea un módulo demasiado pronto. El escenario es constante: hace falta una segunda cola de mensajes, se observa que el bloque se parece al primero y se extrae a un módulo «para más adelante». Seis meses después, el módulo tiene once variables booleanas, tres count = var.enable_x ? 1 : 0 y nadie se atreve a tocarlo, porque lo usan cuatro proyectos, dos de los cuales dependen de un comportamiento que el tercero considera un error. La abstracción que debía reducir la duplicación ha producido un componente más difícil de leer que las cuatro copias a las que sustituye.

El problema no son los módulos, sino el momento en que se crean. Un módulo es una interfaz, y una interfaz solo se diseña correctamente después de haber visto varios usos reales. Si se escribe tras dos o tres duplicaciones asumidas, captura lo que realmente varía y lo que no. Si se escribe a la primera semejanza, fija una necesidad imaginaria y parametriza las cosas equivocadas. Esta lección muestra cómo escribir un módulo útil y después ofrece criterios concretos para decidir si debe escribir uno.

Comentarios

Los comentarios funcionan con GitHub Discussions

Inicia sesión con GitHub para participar en la discusión

¡Enlace copiado!