Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "bikeshedding"
Fuck those who cover their incompetence with complexity. Fuck those who fall for their shitty tricks. Fuck you for depriving me of any sense of accomplishment with overcomplicating everything to show how smart you are when you are not. Fuck you for creating a culture of overthinking egoism instead of shipping and finding out who was right. FUCK YOU IN THE ASS YOU BIKESHEDDING, MOTHERFUCKING CUNTS!4
I'm a fan of writing tests right after you write every module. I actually think it's doable.
But I'm not a big fan of traditional TDD, which is defined as: first writing the tests, making them fail, writing code until tests don't fail.
My experience with traditional TDD when writing library code is that you start with this very naive idea of what is needed, so you write classes and functions and a lot of times they look like overly simplistic pseudocode.
So what do you do? You scratch that, you delete those classes/functions several times.
I think this discovery process that your code is naive is slowed the fuck down by doing TDD.
I'd rather write a theoretical API in a readme file, then write code, and then write the tests, you can even withhold writing the tests, but never leaving them for another day, just so that you don't waste time writing tests that you're going to scratch.
There's always a time constraint, and most of us can't afford bikeshedding.
Traditional TDD feels like an esoteric thing, it tries to make programming a series of steps, it actually sounds like an infommercial.
"FOLLOW THESE 3 SIMPLE STEPS AND WRITE THE BEST CODE EVER"11
Had a conference call for a fairly large internal project today. Everyone involved was there. Turns out the other subteams had done jack shit. Blablabla drafts and concepts bla, yeah right.
Then someone had the idea we needed an e-mail distribution list. But what's it gonna be called?
Suddenly *everyone* had an opinion and wanted their name used. And, in true "design by committee" fashion, everyone's ideas got merged.
Our list's name is now 30. fucking. characters. long. FUCK. you.
Luckily, I can leave the project this month. Can't wait...
Recently installed SonarQube and its been amazing to see the level of code quality (or lack thereof)
Some projects have 30 to 60 days of technical debt and I found a few files with a cyclomatic complexity over 100. I’m still learning what the “good” numbers should be.
Yesterday, couple of devs were very proud they were going to start reducing the numbers, they started with one of my solutions that had 5 minutes of technical debt. Yes, 5 minutes.
DevA: “OMG…look at this…it has a cyclomatic complexity of 11…that’s terrible. I thought we were supposed to be professional developers.”
DevB: “And take a look at this, he used the double-slash instead of a triple slash for comments. How does any of code even compile?!”
Me: “Maybe we should tweak some of those SonarQube rules so they make more sense to our code base. We’re never going to use unicode, so all those string culture warnings should go away and code comment formatting? Who cares? Be happy we have comments. I think we should also focus on the bigger fish in that pond. The CRM project is one of the biggest and has a lot of improvement opportunities.”
DevB: “There you go again, don’t bring me problems, bring me solutions..ha ha”
DevA: “Yea, no kidding …hey…did you see the logger? OMG…the whole class is over 25 lines…we gotta split that up into smaller projects so it’s more manageable.”
It’s a good thing our revenue stream isn’t dependent on people getting work done.2
I hate discussions about how to name resources in a REST api. It’s not like there will ever exist a client that magically knows your conventions. At some point, you need to hardcode an URL in a client/browser. That’s fine, just keep it simple.
This has been a great source of bike-shedding in my job recently.
And don’t even get me started on HATEAOS...2
You realize you reached the top of your career when you are on top management meeting discussing actual freaking bikeshed! It's not an urban story! Those meeting actually happen! And actually few months later we got a real bikeshed on our parking lot!
Only downside was that there was almost no bikesheding on the bikeshed meeting :-/