On 15/06/2024 16:58, Rowan Tommins [IMSoP] wrote:
Common arguments against:
- Static properties are a form of global state, and that's something
widely advised against
Correct, but a static class does not need to have any state. Indeed, I
cannot think of an instance where I (personally) have needed state in a
static class. If this ever becomes a point of contention (though I doubt
it would), we could even consider prohibiting state in static classes,
locking it down completely to just methods. A draconian option, but an
option nonetheless.
- Static classes without any properties would be the same as putting
functions and constants in a namespace, which we can already do
You already provided a counter-point to this; we can't autoload
functions. Besides, there may be good reason (organizationally) to group
sets of static functionality together (in a class) rather than having
them as free-standing functions only so grouped in a file (which does
not necessarily imply the same degree of cohesion).
rather than fall back on the opinions of many who are mostly absent
among those polled nine years ago, I'd rather get a sense of the
current sentiment of those present today.
This line of thinking always makes me uneasy. It lends undue weight to
*who* made decisions, and not enough to *why*.
Meaning no disrespect to anyone whom was participating nine years ago (I
have nothing but respect for those whom came before), I really don't
care _who_ fielded opinions or decisions, my point was simple and
singular: that even if an opinion was valid back then, if nobody were to
uphold it today, it wouldn't carry any weight now. I think enough time
has passed that gauging the sentiment of today is valid and worthwhile,
especially if it has shifted (and we cannot know without asking).
Cheers,
Bilge