I agree that code should always be well-documented, but not every single line. And general practice is for comments to precede the code they are commenting and not the other way around. It's a good idea to precede sections of code with details on what that section is for and how it works, say for the next few lines or so, but it is sometimes a good idea to comment even just a single line of code. It all depends. A good programmer learns to strike a good balance here.
It is also very useful for programmers to properly indent their code to make it more readable.
System Specs: OS - Windows 7 Home Premium 64-bit SP1, CPU - AMD Phenom II X4 945, 3.0Ghz, RAM - 8Gb DDR3, GFX Card - 2048MB NVIDIA GeForce GT 640, FPSC-R Version - Beta 1.0071