• Pasta Dental@sh.itjust.works
    link
    fedilink
    arrow-up
    19
    ·
    edit-2
    3 months ago

    Am I the only one who likes to write comments when I find code that took me a while to understand even when I didn’t write the code? It helps me when I go back to that place and it helps other devs that have to do the same figuring things out as me. Idk if I’m just weird but I really like writing documentations and commenting my code

    • pfm@scribe.disroot.org
      link
      fedilink
      arrow-up
      8
      ·
      3 months ago

      You’re definitely not the only one.

      In my opinion the important information we should record in comments is WHY, because the code can only explain HOW, maybe WHEN, but never WHY. If we don’t know WHY, any refactoring done in the future could break the logic by ignoring assumptions made by the authors.

    • magic_lobster_party@fedia.io
      link
      fedilink
      arrow-up
      5
      ·
      3 months ago

      I think comments are good as a last resort when it’s difficult to communicate the intention of the code with other means.

      If I find code that’s hard to understand, I’ll first try to find better variable or function names. Often this is enough.

      If it’s still too difficult to understand, I try to restructure the code to better communicate the flow of the code.

      If that doesn’t help (or is too difficult), then I might add a comment explaining key information that’s difficult to understand from the code.

      • Pasta Dental@sh.itjust.works
        link
        fedilink
        arrow-up
        3
        ·
        edit-2
        3 months ago

        I think comments are good in a first resort, along with the other points you mentioned. To me reading a single line summary and or explainer will always be faster than reading 15 lines of code even if it’s very well made and self documenting

      • pfm@scribe.disroot.org
        link
        fedilink
        arrow-up
        2
        ·
        3 months ago

        As mentioned in my other comment, names will rarely explain the reasons why a given solution was chosen. These reasons are important from maintenance perspective and should be recorded next to the relevant code.

        • magic_lobster_party@fedia.io
          link
          fedilink
          arrow-up
          2
          ·
          3 months ago

          I agree, and I count that as “key information that’s difficult to understand from the code”.

          IMO, comments should be used to provide value to the code. If they’re used too much, then readers of the code will more likely stop reading them altogether. They already got what they need from the code itself and the comments usually don’t add much value.

          If they’re sparse, then that’s a good indication they’re important and shouldn’t be missed.

          • pfm@scribe.disroot.org
            link
            fedilink
            arrow-up
            1
            ·
            3 months ago

            I definitely agree that too many comments is often a bad sign, esp. when large part of them is obviously generated.