I have been creeping through Michael C Feathers’ book “Working Effectively with Legacy Code” for some time now. Its by no manner an easy read!
I stumbled across something big this evening:
“… but remember that the purpose of access protection is to prevent errors. We are putting in tests to prevent errors also. It just turns out that, in this case, we need the stronger tool.” (Page 372, “Introduce Static Setter”)