Я в где-то встретил фразу "комментарий - маркер плохого кода", с ней согласен. А чтобы было понятно, нужна документация, трекер и понятный код. Комментарии чаще аутдейтед.
Никогда не видел самодокументирующегося кода. Вернее, он перестаёт таковым быть, когда выходит за пределы тимы, который его писала. Когда его читают другие люди.