• dreadbeef@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    4
    ·
    3 hours ago

    I am glad I worked on codebases where we didnt run fast and break things. Well built software is achievable, but not flashy

    • JackbyDev@programming.dev
      link
      fedilink
      English
      arrow-up
      4
      ·
      2 hours ago

      Honestly, yeah. I mean, not the best but I definitely am more in favor of comments being a commentary than explaining what’s happening. Explaining why is better than what, but in general, comments where anything absolutely bonkers is happening are useful. Bare minimum, I think some sort of acknowledgement that the person writing the code also recognized their code was weird (necessarily or not) is nice.

  • SleeplessCityLights@programming.dev
    link
    fedilink
    arrow-up
    8
    ·
    6 hours ago

    I can’t swear or reference other team members anymore, it was considered hostile. Fuck Steve, trying to get his git numbers up by running a linter on my feature branch while I am developing the branch. Now I can’t fucking quickly read the code, it is a mess for a reason, it is temporary. I hate Python for this, I come from C++ land and need my whitespace.

    • JackbyDev@programming.dev
      link
      fedilink
      English
      arrow-up
      5
      ·
      2 hours ago
      git pull
      # you see bullshit
      git reset --hard HEAD@{1}
      git push --force
      

      Solved! Tell your coworker to make their own branch!

    • Ajen@sh.itjust.works
      link
      fedilink
      arrow-up
      4
      ·
      4 hours ago

      If it’s your feature branch, just revert his commits (or reset the remote branch to your local branch)? Not sure why a feature branch would be shared between devs…

      • SleeplessCityLights@programming.dev
        link
        fedilink
        arrow-up
        3
        ·
        1 hour ago

        Ask Steve why he was working on my feature branch. Steve is not a smart person. He also built a feature that another team was working on, over a weekend and implemented it on Monday morning. The feature was already finished on Friday and the PR was waiting for approval. While 10x devs work fast, they create 10x the work for everyone else. He no longer works here and it turns out he burned every single team with shit like this. It is so hard to get rid of someone who can work fast. When upper management is convinced someone who is productive and smart can do no wrong. They ignore the fucking carnage they create.

  • SilentSyntax@programming.dev
    link
    fedilink
    arrow-up
    47
    ·
    14 hours ago

    Wasn’t there a graph posted somewhere at some point which showed the frequency of different swear words in comments in the Linux kernel code?

    • merc@sh.itjust.works
      link
      fedilink
      arrow-up
      55
      ·
      14 hours ago

      Most of the places I’ve worked I’d have been told to get rid of the cursing before checking something in. But, my own personal codebase has tons of this sort of thing.

      But, aside from the cursing, these actually look like excellent comments. Comments should warn you when the code isn’t what you might expect. These are excellent from that point of view. If this is what a random sampling of the comments in the codebase looks like, it is probably a very well commented codebase.

      • SpaceNoodle@lemmy.world
        link
        fedilink
        arrow-up
        10
        ·
        13 hours ago

        Why are the fart sniffers reading the code? Or does the mere thought of a naughty no-no word give them the bad tingles?

        • wheezy@lemmy.ml
          link
          fedilink
          arrow-up
          18
          ·
          9 hours ago

          The fart sniffers are there to prevent your pull request from being accepted because they have nothing better to do. They exist because they are promoted so your manager, that contributes nothing, can point to them as a “team player”.

          I swear to God. Corporate code would literally work better if we auto accepted every pull request and just had a single meeting each month to decide if we should revert back to last month and try again or accept our current state as “better”.

          Fuck waterfall, Fuck agile. Just go with the “was it worth it?” monthly review method.

          Did we create more problems than we solved? Like, I feel like the Windows search function wouldn’t have passed this review and we wouldn’t get 0 results for the “uninstall” search string and start suggesting Bing results if this minimal method of rational discussion existed at a higher level.

  • Ephera@lemmy.ml
    link
    fedilink
    English
    arrow-up
    54
    arrow-down
    1
    ·
    18 hours ago

    Man, at $DAYJOB, if we open-source something, they tell us to check for checked-in passwords and whatnot, and force us to throw away the commit history, which always feels stupid when we’ve known upfront that we’re going to open-source it and so kept things clean from the start.

    But then, yeah, you see a post like that and just think that it really wouldn’t have been too difficult to search for swear words before publishing.
    I mean, I also don’t really care, since it’s code rather than an official communication channel, but I can understand why management might care.

    • SpaceNoodle@lemmy.world
      link
      fedilink
      arrow-up
      78
      ·
      16 hours ago

      Management can go fuck themselves. Do they want the code to fucking work or not? These are load-bearing fucks.

      • wheezy@lemmy.ml
        link
        fedilink
        arrow-up
        12
        ·
        9 hours ago

        It literally helps future programmers. There is nothing more inspiring than reading comments you can feel solidarity with. These literally are load bearing comments.

        I also enjoy the sarcastic “I won’t regret taking this shortcut” comments. Like, you’re trying to fix some ass-holes code and they are literally mocking you for the fact that they knew they did it wrong but it would be someone else’s problem in the future. It’s a “pass the torch” kind of thing that I always enjoy. Like, I can’t be mad because I just feel so connected in our mutual frustration of wage labor bull shit.

      • KeenFlame@feddit.nu
        link
        fedilink
        arrow-up
        6
        ·
        10 hours ago

        The day I cannot swear in my code is the day I auto obsfuscate the whole thing so I can continue using swearwords but now also nobody else can work the code

  • Mountaineer@aussie.zone
    link
    fedilink
    English
    arrow-up
    39
    ·
    18 hours ago

    These are pretty calm messages to an Australian and Garry is British, so culture checks out.

    // What the fuck
    // Fuck dynamic compiling.
    // what the fuck is this shit
    // What the fuck, why isnt this a method

    Should this by the by commentary be there?
    Not really.
    But as a programmer, I understand each and every time I see something like:

    // Urgh this is so dirty, Invalidate() and Refresh() do nothing.
    tButt.AutoSize = false;
    tButt.Width = maxWidth;
    tButt.Height = maxHeight;
    tButt.AutoSize = true;

    • Deebster@programming.dev
      link
      fedilink
      English
      arrow-up
      44
      ·
      18 hours ago
        // this is bollocks, delete it
      

      That’s almost certainly from a Brit.

        // this looks like I'm being a fancy arsehole, but this is all because  
        // the window shows up white for some reason when first opened, and this  
        // disguises it.
      

      Could be either.

      chefkiss.png

    • sp3ctr4l@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      18
      arrow-down
      6
      ·
      17 hours ago

      Yep.

      Not too long ago I was explaining to people how Garry is both an asshole and bad at coding… now we get to see the unprofessional struggle session.

      Like, if you are frustrated that calling methods from your own code base doesn’t work… maybe fix your code’s utility functions?

      Instead of doing one off hackjobs for everything?

      Any serious, experienced coder has tendencies toward this or even versions of their code with some of this kind of stuff in it.

      … but you fucking clean it up and rewrite the rage with actually helpful documentation, if you actually give a damn about other people who might use it.

      As the TF2 Sniper put it:

      Professionals have standards.

      • KeenFlame@feddit.nu
        link
        fedilink
        arrow-up
        10
        ·
        10 hours ago

        Ah, yes I also work professionally, in very clean non-swear-inducing code without hackjobs that are in production and does a job, because it exists, and I know because I code a lot professionally and never see hacks or swear ever and it also reflects my flawless personality. In fact, here they are now, in the room with us. All the code that is perfect and without hacks are greeting us and they speak highly of me and badly about that unprofessional garry even though we don’t really know who he is we are definitely superior since our code is without any hacks and doesn’t use any libraries with swear words in the comments

      • merc@sh.itjust.works
        link
        fedilink
        arrow-up
        21
        ·
        14 hours ago

        I don’t see anything unprofessional there. Just naughty words. But, the naughty words are somewhere where they warn you that the code below doesn’t behave as expected, or complain because there isn’t a better way to do something. That seems like the best time to use strong language.

        Cleaning it up is a great idea in theory, but in practice almost everybody has higher priority things to be doing. Leaving a comment in the code for why something is ugly is the best thing you can do when you don’t clean something up, so that someone coming along after you doesn’t struggle with it. We have no idea how many “naughty” comments are no longer there because the issues they addressed were cleaned up.

        • sp3ctr4l@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          8
          arrow-down
          9
          ·
          14 hours ago

          If you were to talk like this in any job I’ve ever worked at, you’d be fired in about a week, maybe faster.

          Same with writing emails with this language.

          And you’re missing my point that if you made your own functions… and they don’t work right, … you should fix those functions, rework them.

          Not doing that is how you get technical debt, spaghetti code, which is bad for you, bad for what you’re trying to do, bad for anyone else trying to help you do it.

          Commenting on a bunch of slapdash fixes is like covering holes you punched in your wall with framed graffitti about how frustrated you are.

          If you saw that in a date’s home, you’d hopefully recognizr that as a red flag and nope the hell out.

          If everybody else is too busy to actually fix the code, you have inept project management.

          You as well have clearly never worked in an actual professional software dev environment, if you think this is reasonable or defensible.

          • Incogni@lemmy.blahaj.zone
            link
            fedilink
            arrow-up
            5
            arrow-down
            2
            ·
            12 hours ago

            Absolutely correct.

            I always tell our new developers: If your new feature works, you aren’t done, you have to check if your code has to be refined first, before checking it in. (e.g. duplicated passages made into a common function, ugly hacks removed and “done properly”, stuff like this) Documentation and testing are also mandatory, but that’s because of the industry we work in.

            • sp3ctr4l@lemmy.dbzer0.com
              link
              fedilink
              English
              arrow-up
              2
              arrow-down
              2
              ·
              8 hours ago

              Yep.

              You can avoid having to do something like a total refactor that takes half the year, if you do the rough equivalent of a sanity check / clean up pass, when any new system or feature set is added, and make that habitual.

              Its… kinda like how if you just do a bit of regular shopping, regular meal prep, regularly do the dishes, whatever, everything just flows easier in general.

              The longer you run lean, move fast and break things… yeah it can improve output in the short term, but medium to long term, you’ll run yourself ragged, and things will break and fall apart.

    • sin_free_for_00_days@sopuli.xyz
      link
      fedilink
      English
      arrow-up
      4
      ·
      14 hours ago

      I wasn’t sure if Garry was commenting on his own code, or someone was calling Garry out on Garry’s code. Either way, your comment works.

      • sp3ctr4l@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        2
        ·
        8 hours ago

        Its likely a mix of Garry and maybe 2 to 4 other coders, who Garry assigns to develop various subsystems off of his broken core systems.

        Thats exactly how he did it during Garry’s Mod.

  • moosetwin@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    14
    ·
    edit-2
    17 hours ago

    fuck me c# - is this how we compare paths

    hahaha I’ve done this exact thing before, with windows formatting folder paths as x/y/z and file paths as x\y\z.ext, especially since some modules would only accept one format or another

    • ulterno@programming.dev
      link
      fedilink
      English
      arrow-up
      0
      ·
      7 hours ago

      Why don’t they just have a FilePath class with an == operator?
      I’ve never felt so elated for taking up Qt instead of going with the .NET C# route.