• Feyd@programming.dev
    link
    fedilink
    English
    arrow-up
    8
    arrow-down
    1
    ·
    2 days ago

    The problem is that you don’t realize that writing code that is difficult to maintain is in fact not a sign of intelligence, or “power level”.

    • hisao@ani.social
      link
      fedilink
      English
      arrow-up
      1
      arrow-down
      5
      ·
      2 days ago

      It depends. If it’s difficult to maintain because it’s some terrible careless spaghetti written by person who didn’t care enough, then it’s definitely not a sign of intelligence or power level. But if it’s difficult to maintain because the rest of the team can’t wrap their head around type-level metaprogramming or edsl you came up with, then it’s a different case.

        • hisao@ani.social
          link
          fedilink
          English
          arrow-up
          1
          ·
          21 hours ago

          You can call that conformity or whatever but that’s what makes code easy to read and maintain.

          I agree, and this is why I think code doesn’t need to be manually written by humans (unless it’s for training AI or providing it examples). It’s a great thing that AI evolves so fast in this area.

      • chunkystyles@sopuli.xyz
        link
        fedilink
        English
        arrow-up
        3
        arrow-down
        1
        ·
        2 days ago

        No. Both are hard to maintain. And in fact, I’d prefer the spaghetti. It can be untangled.

        • sugar_in_your_tea@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 day ago

          Exactly. Code should be self-explanatory, and anything fancy should be clearly commented.

          The difference between a good and great software engineer is understanding the cost of fancy code, and when it’s worth it to pay that cost. A great software engineer practices restraint, preferring code that even the most junior of engineers can maintain. Solutions should be extensible without serious refactors, and should attain good performance through good high-level design instead of low-level optimizations.

          I’m guessing the “rockstar” OP is talking about went deep into the weeds of metaprogramming and even they can’t explain how it works a few weeks later. We have that crap here too, and nobody likes it, especially the seniors, but it’s so ingrained in the code that nobody wants to risk introducing bugs by fixing it.

          • chunkystyles@sopuli.xyz
            link
            fedilink
            English
            arrow-up
            2
            ·
            1 day ago

            Hell, not even junior devs. I need to be able to come back to code months or years later and be able to figure it out. I can only remember so much.