2016-05-23 We should describe the *purpose* of everything. Nothing is more helpful. If your program uses multiple directories, explain what the purpose of each of them is. If your source files are separat- ed into multiple directories, explain what the purpose of this separation is. (If there is none, then don't separate. If the separation is redundant to some checks in the code, then remove one of the two conditions and use the other as the only relevant condition.) If you do something special, then comment why you do so. If you do things the usual way (as you should most of the time) then you don't have to comment, because it already resembles the expecta- tions of the reader. Eventually everything comes down to: Write code that is under- standable and in consequence maintainable by someone other than you (this includes yourself in the future)! To become able to write code this way, you must collect experience in understanding and maintaining foreign code. If you don't do that, you won't know what really matters and what confuses. http://marmaro.de/lue/ markus schnalke