Sto leggendo 97 cose che ogni programmatore dovrebbe sapere , ora sono posizionato in "Applica principi di programmazione funzionale", e c'è un paragrafo che dice:
...A leading cause of defects in imperative code is attributable to mutable variables. Everyone reading this will have investigated why some value is not as expected in a particular situation. Visibility semantics can help to mitigate these insidious defects, or at least to drastically narrow down their location, but their true culprit may in fact be the providence of designs that employ inordinate mutability...
Qual è l'obiettivo della visibilità semantica in questo contesto? Come applicare questo approccio per risolvere i difetti insidiosi delle variabili mutevoli?