&quot;While parts of code were bad, we could have easily fixed them with refactoring if we had taken time to read and understand the source code that was written by other people.&quot;<p>This is the thing. Many people just HATE and REFUSE to read other people&#x27;s code.<p>Maybe they just don&#x27;t teach code reading and reviewing in computer science classes, but they should.<p>Printing it out on paper and reading it away from the computer is helpful, but a lot of people write code for wide screens that doesn&#x27;t print out well, or they just don&#x27;t give a shit and it looks terrible even on the screen. And some people just don&#x27;t have the stomach for reading through a huge pile of pages, or think that&#x27;s below their station in life.<p>But reading code is one of the best most essential ways to learn how to program, how to use libraries, how to write code that fits into existing practices, how to learn cool tricks and techniques you would have never thought of on your own, and how to gain perspective on code you wrote yourself, just as musicians should constantly listen to other people&#x27;s music as well as their own.<p>I just don&#x27;t feel safe using a library I haven&#x27;t at least skimmed over to get an idea of how it&#x27;s doing what it promises to do.<p>There are ways to make reading code less painful and time consuming, like running it under a debugger and reading it while it&#x27;s running in the context of a stack and environment, looking at live objects, setting breakpoints and tracing through the execution.<p>Code reading and reviewing is so important, and it should be one of the first ways people learn to program, and something experienced programmers do all the time.<p>And of course as the old saying goes, code should be written first and foremost for other people (preferably psychopaths who have your home address, photos of your children, and your social security number) to read, and only incidentally for the computer to execute.