Razonamiento local para propiedades globales — cómo probar lo entero desde las partes
Laurie Tratt tiene un post nuevo sobre probar propiedades globales — cosas que dependen del programa entero — usando solo razonamiento local sobre piezas individuales. El truco está en escribir assertions composicionales: cada pieza lleva su propia garantía, y cuando las compones las garantías se apilan solas. Sin estado global, sin papeo.
La ganancia práctica es que podés razonar un módulo en aislamiento y estar seguro de que encaja en cualquier lado. Eso es lo que hace copybara cuando verifica que una migración preserva los invariantes en todo el repo. Escribís las checks una vez, y valen para cada pipeline run.
Por qué nos importa: es una forma limpia de armar herramientas para la comunidad — probás las cosas una vez, las reusás en todos lados, y el código no se pudre bajo el peso de los edge cases.
“Escribís las checks una vez, y valen para cada pipeline run.”