News for hackers. Stuff that matters.
Re:Observing the second law of thermodynamics in software by Jtsummers on Tuesday May 29, 2018 @01:36PM (#17181271)
> When everyone is committing to the same repo certain types of encapsulation and abstraction aren't always as critical as they're made out to be.

Until you want to refactor or reuse. We develop a lot of in-house tools for our rather esoteric systems and systems analysis. We start by writing specific solutions, then refactor as we find common elements across tools. Now we have several libraries that can be used by anyone to develop custom solutions to problems because we've factored out common elements into those libraries.

Treating encapsulation and abstraction like they're unimportant would've resulted in a lot of extra work over the years.

Re:Observing the second law of thermodynamics in software by bootsz on Tuesday May 29, 2018 @01:56PM (#17181463)
It's definitely important. My point is simply questioning whether it's really critical to always get it right from day one. Certain types of refactoring like public -> private really aren't always that hard in a closed system. I've done it many times with a few clicks in my IDE. Of course the difficulty depends on the nature of the change and the type of abstraction you need modify; but to me the difference between public and private is pretty low on the list of things that create big headaches. Especially in Java where unless you're using immutable objects everywhere, hiding something behind a getter that performs no additional logic is often useless.