comment | can be written before writing the code |  |
has purpose to describe the purpose of each class, method and variable along with any difficult-to-understand statements inside methods, and to indicated any changes to the code |  |
is essential to give readers an overview and to help them understand its complexities quickly |  |
is a subtopic of Programming Style Guidelines |  |
is a kind of programming language construct |  |
should be between about 20% and 35% of the total length of the code |  |
should be written to describe each non-obvious variable |  |
should be written to describe loops and conditional statements inside complex algorithms |  |
should be written at the head of each non-obvious method describing its function and usage |  |
should be written at the top of each class |  |
should describe the purpose of the class, how it should be used, its authors and its history of modification |  |
should not be about obvious things since they add clutter |  |