4

Code tells a story.

It is usually not especially interesting. It is not captivating. But it is a story.

The story often goes like this: Instead of using the class directly, an interface was used. Someone expects this implementation to change a lot. Or they want to break the logic of the code apart. Speed up compilation times. Maybe they plan on having multiple different implementations.

That's, well... no, it is not exciting. But sometimes you look at it and wonder why. And you muse to yourself, what could be the reason for this curious choice. Is the whole project written like that? Maybe two developer developed the feature together and they agreed at the very beginning to write the interface in order to be able to cleanly work in parallel. I did this with a colleague. We worked on a common feature. We decided to write an interface first, then we worked separately and in parallel on the two sides of the interface. In the end we left it in and we were asked why we decided to use an interface.

Code tells a story. But so very often now, the story I hear when I ask why is "copilot did it." Fuck you. And fuck your "hey, copilot says you could do something better" in merge reviews.

I don't care if you want to use AI. I don't think it is good. You dull your skills. But hey, I don't really care about it. I don't care if you decide to use a plastic fork to remove your left eye. I mean, I would have recommended a sharper instrument, but fuck, if you want to mutilate yourself. Go for it. But when git blame tells me it was you who wrote the code, then don't fucking excuse any decision with "copilot did it." And when copilot tells you there is an improvement in my merge request, you don't need to tell me that it came from copilot. That is no authority. If you think copilot is right, you argue for it, and you give me arguments and reasons. But if you don't even understand yourself why it is supposedly better, just fuck off.

Comments
  • 2
    Beautiful story! Very touching. 🥲
  • 1
    Btw, in that story I’m the villain who mutilates devs who use interfaces for no good reason.
    *psychotic evil laugh*
  • 1
    @Lensflare

    Well, color me surprised, the story turns out to be captivating after all.
  • 2
    I have never found there to be a use for interfaces

    they're an anti-feature that marries you to a specific architecture that then causes you to have to travel more / do more if you want to change code

    I did use generics though, which has the same overhead as interfaces but you're getting features for the downside so it at least makes sense
  • 2
    @jestdotty

    Nah, interfaces are amazing. Design a toaster.. Interface? A lever and a knob. A coffee maker. 1 switch.

    An interface allows you to think about how you want to use something rather than how it works. Ingenious little mental switch-up.

    Facades on the other hand, totally stupid. It's what an interface does... Just more complicated and it urges me with a little French c.
  • 1
    @jestdotty this one comment really shows how little you understand of programming.

    And then you judge other devs…

    It makes me want to copy it so that you can’t delete it.
  • 0
    Code tells the "WTF" story a lot.
Add Comment