Comment from my group project teammate. You don’t need to comment every line lol

  • waigl@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    5 months ago

    Writing good comments is an art form, and beginner programmers often struggle with it. They know comments mostly from their text books, where the comments explain what is happening to someone who doesn’t yet know programming, and nobody has told them yet that that is not at all a useful commenting style outside of education. So that’s how they use them. It usually ends up making the code harder to read, not easier.

    Later on, programmers will need to learn a few rules about comments, like:

    • Assume that whoever reads your code knows the programming language, the platform and the problem domain at least in general terms. You are not writing a teaching aid, you are writing presumably useful software.
    • Don’t comment the obvious. (Aside from documentation comments for function/method/class signatures)
    • Don’t comment what a line is doing. Instead, write your code, especially names for variables, constants, classes, functions, methods and so on, so that they produce talking code that needs no comments. Reserve the “what” style comments for where that just isn’t possible.
    • Do comment the why. Tell the reader about your intentions and about big-picture issues. If an if-statement is hard to parse, write a corresponding if clause in plain English on top of it.
    • In some cases, comment the “why not”, to keep maintenance programmers from falling in the same trap you already found.
    • smeg@feddit.uk
      link
      fedilink
      English
      arrow-up
      1
      ·
      5 months ago

      Commenting the why not is key. Half my comments are explaining why I had to use this hack as a warning that the obvious fix doesn’t work!

    • magic_lobster_party@kbin.run
      link
      fedilink
      arrow-up
      0
      arrow-down
      1
      ·
      5 months ago

      Do comment the why

      In this day and age of source control I don’t think this is fully necessary. If you want to know the why, you can look into the commit history and see which ticket is connected to it. There you might even see the discussions around the ticket as well. But this requires good source control discipline.

      It has helped me many times.

    • Darohan@lemmy.zip
      link
      fedilink
      arrow-up
      0
      ·
      5 months ago

      Legit, I’ll take this over the undocumented spaghetti I too often see written by “professionals”.

      • Fal@yiffit.net
        link
        fedilink
        English
        arrow-up
        0
        arrow-down
        1
        ·
        5 months ago

        This is so wrong. I would absolutely prefer no comments over incorrect comments, which is exactly what happens when things get over commented