Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "inheritence"
-
*starts coding in c#*
Me: hmm this bit of functionality requires some good ol inheritence
*has flashback to uni lecture on c++ *
Lecturer: And so you can use inheritence with friends for xyz, you know what they say friends can touch eachothers privates
*end of flashback*
Me: Guh! No, not the puns ! Guh!5 -
"Mature codebase"
"Our entire team are senior devs"
"Almost everyone that worked on the project is still here and available, so nothing's lost! We can ask whatever we need to."
You would think this would mean the code was clean and easy to read, and you could ask the person who wrote it for help. But. no. It's kinda the opposite.
Here's an example:
I'm trying to write a mailer, and I have no freaking clue how to get it working. I talked with two of the more senior devs, and both assured me it was very straightforward, and then walked me through the quite complicated mailer structure and got lost. The first pretended not to, but glazed over a few holes in his tour, and said I could figure the rest out. The second one ended up admitting that he's totally unfamiliar with it -- his last commit on a mailer was from about 8 years ago -- and doesn't know how to get it working anymore.
So, I'm on my own.
I wrote a super basic mailer for debugging (no idea if/how it actually sends a mail, but I think I can construct one?). But whenever I call the mailer, it gets run twice? Somehow? Apparently I need to start a bunch of daemons to get that part of the system to work. Which is cool because they don't work fresh out of the repo. Got some further help, and now my ostensibly working code throws errors for an undefined var that i'm not even using, and to make it easier: without a backtrace. joy! There's so much inheritence and extending and including going on that it's going to take me hours to track this down. ugh.
I'm keeping my paystub in front of me for some desparately needed motivation.13 -
Stacktraces with zero useful information.
Two full days of breakpoint stepping and framework spelunking.
"bifurcated" object creation.
Delegatd everything.
Inheritence hell fucking everywhere.
Models with both `has_one :x` AND `has_many :x`!?
Automatically-created objects when reading from magic virtual columns!?
What the fuck is this fucking four-dimensional spaghetti monstrosity and just how many angel puppies did I torture and maim in a previous life to deserve this nightmare?
And all of this to fix 12 fucking specs, out of the 1,780 this fucking ticket requires me to break and fix. FML5 -
FUCK
I really wanna love Rust. I really, really do. But no inheritance is just such a stupid decision. But inheritence bad REEEE. No. Just no. Composition only works fine for some things because it just isn't powerful enough to properly (without performance penalty or boilerplate, that is) emulate inheritance. Some things are just better with inheritance: Games, UI, html or xml libs, etc. Now I have to use stupid fucking workarounds because oh no we cannot implement inheritance because that's scary and might give the programmers to much power. I can decide when I want to use inheritance or composition for myself, dickheads9 -
When I was taking a programming course as a Mathematics prerequisite, and then object oriented programming basics (inheritence, interfaces specifically) all just clicked at once. Immediately decided I was going to pursue the computer science major instead of math.2
-
I know using Composition is a good way of reusing components. Works like a charm and sends data down the tree like a waterfall.
But in our codebase it's applied to bugs. Fix one, get two more, fix two get four more.
I want to cry :'((