Commenting should be a description of what the code is doing.
Good code makes it easy to understand how it is doing it.
These are two distinct objectives.
And no, a programmer should not be the last person to test but a really good programmer should give the tester no reason to send it back for rework.