Ask HN: Comments in Code. Yay or Nay?

Do we still need to maintain comments in general-purpose scripting language? Is good code code that doesn't need comments? What are the most useful comments in code that you've seen?

3 points | by reconnecting 3 hours ago

4 comments

  • eschneider 3 hours ago
    Comments are a gift to future you. When you pick up the code again after 6 months/years/however-long-in-the-future and it looks like something you've never seen before, the comments you left should be notes you need to build context around what's in the code and (sometimes more importantly) what's NOT in the code.
    • reconnecting 2 hours ago
      This is one side, and this is something that I had in mind. However, I found that there is another popular opinion (1): that in reality, commented code is harmless. The problem is that it's messy and makes it difficult to read, etc.

      1. https://softwareengineering.stackexchange.com/a/377187

      • JohnFen 1 hour ago
        That's not talking about informative comments, it's talking about commenting out code itself. That's an entirely different thing.
        • reconnecting 1 hour ago
          Thanks for clarification, so there is no such opinion that comments are bad for code reading/understanding?
  • danielfalbo 3 hours ago
    • reconnecting 3 hours ago
      Thanks! This is about C and low-level, but what about general-purpose scripting languages? Python/PHP?
  • Bender 3 hours ago

        # If you see this comment after 2008 something went wrong.  rewrite this "temporary script".
    
    I give people an excuse to get rid of my temporary things.
    • reconnecting 3 hours ago
      May I ask if you still have this comment in production?
      • Bender 3 hours ago
        I retied some time ago but I would bet a few cups of coffee that hundreds of my temporary scripts, work-around eye-sores and such are still in development, performance, staging and production.
        • reconnecting 2 hours ago
          OK, do you left them only with this comment or there was more about function or how software is operating?
          • Bender 2 hours ago
            That was just an example. There are a plethora of variations in comments, only some alluding to the script being a last minute work around. Some are about dependencies so people have some troubleshooting clues to save them time in a 3am outage. Some give history and context to specific values or settings so people do not just blindly say "oh, cargo cult" and back them out. It would take all day to list all the types of comments. Most comments are JIRA issue numbers or confluence pages but those were not optional.
  • JohnFen 1 hour ago
    Comments are essential. The code may tell you the "what", but you need the comments to tell you the "why".