• Gallardo994@sh.itjust.works
      link
      fedilink
      arrow-up
      22
      arrow-down
      2
      ·
      1 year ago

      Let’s face it, such comments usually cause more problems than do good. If someone changes the code and forgets to modify the comment, the reader might favor one or another at random. “Stop sign” example isn’t the best but you get my point.

      Comments at best should explain some non-obvious logic, or some sort of reasons for implementing one way or another. For SDKs and packages overall, public APIs should also be commented. The rest imo should be readable from code.

      • spader312@lemmy.world
        link
        fedilink
        arrow-up
        9
        ·
        1 year ago

        A form of “self documentation” I like to do is create variables for conditions before using it in an if statement. If you break down a funky conditional into easy to read variables it becomes a lot more clear what it’s trying to do.

        Idk how to write code on sync:

        const isHumid = xxxx;
        const isHot = yyyy;
        const isSunny = zzzzz;
        
        If (isHot && isHumid && isSunny) {
            ...
        }
        
      • coloredgrayscale@programming.dev
        link
        fedilink
        arrow-up
        5
        arrow-down
        1
        ·
        1 year ago

        If someone changes the code and forgets to modify the comment, the reader might favor one or another at random.

        Hence why you should comment why, not how/what.

        // slow down traffic before crossing busy main road

        Now you can change the stop sign to a yield without touching the comment. Or judge that the comment can be removed if it’s clear the main road does no longer exist.

    • _danny@lemmy.world
      link
      fedilink
      arrow-up
      17
      arrow-down
      6
      ·
      1 year ago

      Bad/wrong documentation is worse than no documentation.

      “Practice makes perfect” is only true if you’re practicing the right stuff. Otherwise you’re just reinforcing bad habits.