Juergen Brendel’s advice about read-optimizing your code is useful. Developers’ love-hate relationship with documentation spans a wide spectrum. You will meet developers who look at commenting as an effect of poor programming and also those who think that all code should be documented. Factors that I use to decide the level of documentation are the domain and the audience for my code. In-line comments can be effectively used for things that cannot be conveyed by code at times – the rationale behind design decisions and the problem the code is trying to solve.