Time and time again the argument against commenting is that &quot;good code is self-documenting,&quot; which makes perfect sense for those experienced enough to document the code in their heads but I don&#x27;t think holds the same value for developers who do not have the experience to understand what they&#x27;re reading.<p>If you throw junior\graduate programmer into a complicated and mature code-base it will just stiffle their learning.<p>I&#x27;d rather take some time to leave a comment and explain how a method operates, particularly the complicated ones, then block a junior dev (even if it should be obvious after a few minutes of reading for someone else.)