El núcleo determinista que se esconde en todo código legacy

Deterministic Core, Non-Deterministic Shell

El núcleo determinista que se esconde en todo código legacy

Gary Bernhardt propuso en 2011 el patrón Functional Core, Imperative Shell, pero la pureza funcional no es la única vía hacia la testabilidad. Basta con exigir determinismo: un núcleo que, ante la misma secuencia de entradas, devuelva siempre la misma salida, aunque sea imperativo. El autor propone la 'desfragmentación del determinismo': identificar y agrupar esos núcleos en código legacy, reduciendo la superficie no determinista sin necesidad de reescribir todo desde cero.

Cada desastre de código que he visto tiene una o más máquinas de estado deterministas mucho más agradables encerradas dentro. Te prometo que están ahí, aunque no sea obvio.

Más de este día

2026-09-21