• flame3244@lemmy.world
      link
      fedilink
      arrow-up
      2
      arrow-down
      1
      ·
      1 year ago

      Worse than not having a unused variable check at all? Dunno, the underscore assignment are very visible for me and stand out on every code read and review.

      • AeonFelis@lemmy.world
        link
        fedilink
        arrow-up
        12
        arrow-down
        2
        ·
        edit-2
        1 year ago

        Yes, worse, because now if you want to use the underscore assignment to indicate that you really want to discard that variable - it gets confused with underscore assignments that were put there “temporarily” for experimentation purpose.

        • merc@sh.itjust.works
          link
          fedilink
          arrow-up
          9
          ·
          1 year ago

          Exactly.

          Say I’m having some issue with a function. I comment out half the function to see if that’s where the weirdness is. Golang says “unused variable, I refuse to compile this dogshit!” I completely fool Golang by just using _ = foo. Yes, I was correct, that’s where the problem was. I rewrite that section of the code, and test it out, things work perfectly. Only now, it turns out I’m not using foo anymore, and Golang has no idea because I so cleverly fooled it with _ = foo.

          Now, something that could be caught by a linter and expressed as a warning is missed by the language police entirely, and may make it into production code.

          Police the code that people put into a repository / share with others. Don’t police the code that people just want to test on their own.