On Saturday, 19 November 2022 at 04:19:01 UTC, thebluepandabear wrote:

oh. so i get it now. you have to refactor your class (change member variable names and also do it in all places where they are used througout the class. then add new methods, overloading them in this way and that way, all because you're initial design never factored in the possibility of change (or even some validation of the vale being returned to the client, or validation of value coming from the client).

after 10 years of doing all that, you may well come to the conclusion that public member variables are not such a great idea afterall ;-)

These days with modern IDEs it takes a second to change the name of a variable globally. In production level code, it may take more time, but I doubt by a lot.

Think about it, if you have a class with 20 different variables that don't need any special rules to access, think about the amount of code you would have to add for getters/setters. Now in production level code you will have thousands of these classes, and as such you will have a good chunk of code that is practically useless and doing nothing.


By making your class member variables public, it is not clear whether you forgot that you needed to validate incoming and outgoing values, or whether you don't need to do this (not ever).

If you did it because of the former, you're fired ;-)

If you did it because of the latter, you're also fired ;-)

Reply via email to