Google for “replace conditional with polymorphism”.
Just checked and it is in “Clean Code” - Chaper 17; Section G23 “Prefer Polymorphism to if/else or switch/case”.
Google for “replace conditional with polymorphism”.
Just checked and it is in “Clean Code” - Chaper 17; Section G23 “Prefer Polymorphism to if/else or switch/case”.
This is also against clean code examples, because Uncle Bob seems to be allergic against function arguments and return values.
I think this is your strawman version of “Clean Code”… not anything that’s actually in it…
I “like” some parts of your example more than the previous one, but a lot of this depends on where exactly in the whole program this method is - if this method is on a “Salesman” class - does it make sense to pass the “Contract” in? If there’s a Contract class available, why doesn’t the “calculateCommission” method exist on it?
Just wait he could exonerate himself by exposing that the crimes were actually perpetrated by a secret identical twin brother or by opening up a warehouse full of dead clones and claiming that one of them did it.
I mean, maybe it has happened before in history, but someone changed it via AI and we just don’t know…
“Devops” original intent meant you don’t have a separate “operations” department separate from teams “developing” your product / software due to competing incentives. “Dev” wants to push new stuff out faster; “ops” wants to keep things stable. Or “dev” needs more resources; but “ops” blocks or doesn’t scale the same. The idea was to combine both “dev” and “ops” people onto projects to balance these incentives.
Then managers and cloud clowns repurposed it to apply to every person in a project so now every member is expected to perform both roles (badly). Or even more overloaded to somehow refer to “developer infrastructure” teams.