Make no mistake. Clever code is not necessarily good code.
I'm not in favour of littering the code with a pile of comments which will most likely become obsolete in three months, but it's very important to do whenever you are:
- implementing a non-trivial algorithm
- doing something surprising (maybe to fix something on a specific architecture or whatever)
- implementing a complex business rule
I'm not in favour of littering the code with a pile of comments which will most likely become obsolete in three months, but it's very important to do whenever you are: - implementing a non-trivial algorithm - doing something surprising (maybe to fix something on a specific architecture or whatever) - implementing a complex business rule