An observation on Software Engineering
Put succinctly, the observation is this:
With a sufficient number of users of an API,
it does not matter what you promise in the contract:
all observable behaviors of your system
will be depended on by somebody.
from Hyrum Wright (@hyrumwright)
So that Hyrum’s Law is is very interesting and very true
basically if you produce code to be reused by others, you are basically fucked
someone somewhere will rely on something undocumented in your library, a default behaviour from some config files (that was originally and error), a side effect of doing A after B, etc.
in such a way that even if you pacth, update, fix bugs, etc.
you will always break someone else code
“always” to take with a grain of salt, depends mainly on how many do use the library
and how long this library is out there to be used
this also explain why you have interface, getter and setter, etc.