Why your code sucks 🙂

preview_player
Показать описание

Рекомендации по теме
Комментарии
Автор

limiting the class to an action is clunky and close-minded, id suggest naming it something sleek and functional like “class1” to really clear up the code and offer limitless possibilities❤️

flumet
Автор

"Behold, my class that makes absolutely everything, 'ThingDoer'"

sr.piedra
Автор

- I named the class ScopeCreepifier.
- What the hell does that do?
- Everything.

mikicerise
Автор

no joke the last project i worked on included classes such as: EntityEngine, ClientActivity, and my personal favorite: AbstractEntity which was a concrete class.

DQuinn
Автор

This is why all of my classes are called noun verb

Wildspeck
Автор

Same energy as the evolution of legendHandles -> legHands -> feet -> ft and wondering where this two-letter variable came from.

EarlCo
Автор

There are 2 difficult things in programming: cache invalidation, naming things, and off by one errors

apocalyptosoldier
Автор

Unrealistic, the code would never be in the NounActivitier class. It would be in the GroceryShopper class which extends the StoreShopper class which extends the StoreActivitier abstract class which implements the NounActivitier interface.

acephoenixgamer
Автор

I felt this pain. These kinds of abstractions are the number one thing that make me want to quit software. I bet that GroceryShopper is the “only” concrete class that extends NounActivitier in this entire code base and the next engineer who wanted to implement a “thing” that does an “activity” implemented an entirely different class.

raymaleh
Автор

When you're a senior Java developer. This is exactly how we get types like

ChungusTheLarge
Автор

the last time i was this early the class was still named GroceryShopper

-Exen-
Автор

Reminds me of an article I read about how units in StarCraft were a class called Unit but that inherited from a class called Doodad which inherited from a class called Thingy

michaeldance
Автор

When I started working in my current job in 2008 as a fairly inexperienced developer who was in charge of designing a new system that would run the whole company I made exactly the same mistakes. Remember telling to my boss: "Listen, this is so genious. Currently we sell product xy but with my data model we could sell anything that's why it has so many levels of abstraction". 😀
Now, 16 years later, we still sell product xy and the decisions I made back then still haunt me 😀

MaxMustermann-vuir
Автор

That's why KISS will always beat premature optimization. Only cross the bridge when (and if) you need to.

sutirk
Автор

Coding for corporate has taught me that maintainability only reduces future work load and gets you criticism for not being done with your current thing fast enough. Shortsighted middle management and the misapplication of the otherwise valid mantra of "we will cross that bridge when we get there" leads to tech debt high enough that I'm never going to be out of work. Which ironically is more frustrating than getting a project done done.

OllyWood
Автор

As one who started coding in the 90's, I can say that people have been doing this sort of thing for decades! I tend to see this more from folks who have never had to support or fix other people's code.

tely
Автор

That's why we split the NounImplementation from our VerbInterface (commit message reads: "refactor").

hcblue
Автор

A better critique of over abstraction and object-oriented fetishism has never been crafted. Genius.

RyanDaum
Автор

The upbeat corpo music really ties this together

thenayancat
Автор

It would be funnier if.. this wasn't the kind of conversation I have actually been in...

victor-charlesscafati