Vijf states die niet kunnen bestaan, en jouw code staat ze alle vijf toe
We gaven een agent een doodgewone taak — een productlijstscherm met laden, een fout en data — en kregen een klasse terug met één boolean en twee nullable velden. Dat zijn acht combinaties, waarvan er drie iets betekenen; de andere vijf compileren, komen door de review, gaan naar productie en blijven daar liggen. Dit is wat een onmogelijke state is, waarom dat hetzelfde is als een gebroken invariant, waarom de echte kosten niet de runtimebugs zijn maar de ongeschreven afspraken die elke lezer opnieuw moet reconstrueren, en hoe sealed classes samen met volledigheidscontrole een hele categorie fouten in een buildfout veranderen. Plus: waarom een enum met nullable velden het erger maakt, welke ene regel de controle stilzwijgend uitzet, en de vier plekken waar algebraïsche datatypes helemaal niet helpen.






