• Quetzalcutlass@lemmy.world
    link
    fedilink
    English
    arrow-up
    14
    arrow-down
    8
    ·
    2 days ago

    Except those imports were used by a huge section of code you temporarily commented out, and now you’ll need to manually select a dozen imports to get it working again when you come back to it.

    (Sure you could have just commented out the unused imports, but the linter auto-sorted them and you’re feeling too lazy to copy-paste a dozen scattered lines)

        • ulterno@programming.dev
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          23 hours ago

          Yeah, I stopped using comments as a code ON/OFF switch when I started using git.
          But then I handed over my project to someone without OCD and now the repo is full of code inside comments.


          And because I don’t use git stash properly enough, in some projects, my stash is 3+ stacks long, with almost the same changes in each of the stashed entries.

        • naeap@sopuli.xyz
          link
          fedilink
          arrow-up
          2
          ·
          2 days ago

          In general, I’m with you
          But sometimes I need to revert/comment out a code block, because another code part isn’t finished/working as it should.
          Sure, it clutters code, but if I just comment out a function call and temporarily replace it with the workaround, it should imho stay in code.

          Else the workaround will stay forever and the commented out code will act as a reminder, that this part isn’t clean yet.

          But maybe it really is a case by case thing, where sometimes it’s better to branch it out for later merge - although that can get really messy, while having the future implementation commented out, others will also see, how it is supposed to work and don’t try to further extend the workaround, which makes future merging hell

          Out of interest, how would your best practice look in such cases?

          • entropicdrift@lemmy.sdf.org
            link
            fedilink
            arrow-up
            4
            ·
            edit-2
            2 days ago

            I would make it a TODO so that it’s clearly temporary and so the linter bugs me about it until the intended permanent code is restored.

            In general I prefer to keep separate branches and maybe a draft PR open for visibility for that kind of situation, though.

    • CameronDev@programming.dev
      link
      fedilink
      arrow-up
      13
      ·
      2 days ago

      Use a good IDE, and readding the imports is pretty easy.

      I find commented code to be a bit of a smell on its own, just delete it, and if you really need it again, dig it out of source control.

      • jjjalljs@ttrpg.network
        link
        fedilink
        arrow-up
        10
        ·
        2 days ago

        Yeah. My last job, a PR with commented out code typically wouldn’t get approved. Either leave it in version history, or stick it on a branch

    • mmddmm@lemm.ee
      link
      fedilink
      arrow-up
      6
      ·
      2 days ago

      Hum… Ignore linter advice for code that you temporarily mangled.

      It’s not like you have to act upon it as soon as a blue line appears under your code.

      • bleistift2@sopuli.xyz
        link
        fedilink
        English
        arrow-up
        0
        ·
        2 days ago

        Depending on the configuration, a linter may cause the compilation or a CI pipeline to fail.

        • mmddmm@lemm.ee
          link
          fedilink
          arrow-up
          1
          ·
          2 days ago

          Failing your local compilation due to linter problems is just stupid.

          Sending “temporary” changes into your CI pipeline isn’t even stupid, it’s borderline malicious.

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

            Sending “temporary” changes into your CI pipeline isn’t even stupid, it’s borderline malicious.

            No? “Hey customer, I’ve deployed the changes you requested to the staging area. Is this what you had in mind? Keep in mind it only looks good and isn’t fully functional yet.”

    • CaptDust@sh.itjust.works
      link
      fedilink
      arrow-up
      3
      arrow-down
      1
      ·
      2 days ago

      Honestly I’ll disable linting across entire files during these kinds of refactors because it’s annoying having build output littered with unused imports and format warnings while I’m still working on a solution. Requires some extra diligence to re-enable and clean up before pushing though.

      • zqwzzle@lemmy.ca
        cake
        link
        fedilink
        English
        arrow-up
        2
        ·
        2 days ago

        Use pre-commit with a linter config that checks all files, local dev can have a different config to disable as needed.