I disagree.  Even with the name &quot;ReadOneUnbufferedByteAtATime&quot;, the code doesn&#x27;t (and can&#x27;t) explain why the author is doing it that way instead of reading multiple bytes at once.  If that decision is important then there needs to be a comment explaining it.<p>In my experience, &quot;self documenting&quot; code is brittle and hard to change because nobody knows (or remembers) which implementation details are important and which aren&#x27;t, so they&#x27;re afraid to change it.  Is it reading a byte at a time for a reason?  Or does it not matter and it&#x27;s just happens to be done that way?<p>There&#x27;s more to software development than just churning out code, and being disciplined about keeping comments up to date is one of those things that just needs to be done, IMO.