Va de la instalación al punto de venta pasando por modelos, lógica de servidor, datos de módulo, depuración, vistas, seguridad de acceso, traducciones, automatizaciones, desarrollo web, la biblioteca de interfaz, pruebas automáticas, llamadas remotas y rendimiento. Es la sexta edición de una serie que empezó hace diez años, y se nota en el buen sentido: los capítulos están ordenados por cómo se trabaja, no por cómo está construido el producto.
Qué saqué de él
El capítulo de datos de módulo es el que más me cambió la forma de trabajar. Identificadores externos, marcas para que un dato no se pise en cada actualización, carga por archivos en lugar de por código. La regla que me quedó es que antes de programar algo conviene preguntarse si puede declararse: lo declarado se versiona, se revisa y sobrevive a una actualización; lo programado hay que volver a probarlo cada vez.
El de seguridad de acceso me dejó un orden para revisar un módulo ajeno. Primero quién puede ver y hacer qué, después las reglas por registro, y solo al final la lógica. Cuando algo se comporta raro en una instalación con varias compañías, la causa está en esas dos primeras capas mucho más veces que en el código.
Y el de rendimiento, junto con el de pruebas, es el que convierte un módulo en algo mantenible: medir antes de optimizar, y dejar escrita una prueba que falle cuando alguien rompa lo que costó arreglar.
Qué dejé fuera
La lectura seguida, que en un recetario no tiene sentido, y los capítulos de interfaz web, que son para quien construye pantallas a medida. Pero el hueco de fondo es otro, y vale la pena nombrarlo: un recetario enseña a construir sobre la versión de hoy y no dice nada sobre qué pasará con eso el año que viene. Qué se rompe al subir de versión, qué módulo de terceros se quedó sin mantenedor, qué gancho desapareció entre una versión y la siguiente: nada de eso está aquí, ni puede estar, y es justamente el problema que más me piden resolver.