I'm reading 97 Things Every Programmer Should Know, now I'm positioned in Apply Functional Programming Principles, and there is a paragraph that says:...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...What is the objective of Semantics Visibility in this context? How to apply this approach to solve mutable variables' insidious defects?
What is Semantics visibility?
functional programming;principles