title: What are the different code comment practices?
body: <p>Reading up on code commenting, there seems to be a general support for comments that do not explain anything the code itself can explain. All the sources (not that many, but a few still) I have looked up say that the comments should be explaining the code on a higher level of abstraction.</p>
  
  <p>However, experts in the field I socialise and work with are supporting that more comments are better than not enough, that even if the comments explain something that the reader/coder can decipher from the code, there are different levels of this, and some people may decipher the code faster than others, so to be safe it would be better to comment code whose meaning is not painfully obvious; after all,</p>
  
  <blockquote>
    <p>"it will help you, as a coder, when you don't have to read the actual code, and can understand what a function does in English, rather than try and decipher code. Sometimes, it might even help writing the function out in comments and pseudocode before coding it; It will help as a constant reminder of what this function is <strong>supposed</strong> to do."</p>
  </blockquote>
  
  <p>These two are quite different schools of thought as far as comments go. Which begs the question:</p>
  
  <p><strong>What are the different schools of thought about code commenting, and what are the most popular (so as to avoid asking about the <em>best ones</em>, as that is subjective) sources I can read up on about code commenting practices?</strong></p>