The key part of that is "proper coding standards". Variable naming standards, code layout, refactoring, etc. all lead to self-documenting code. If you don't name your variables, methods, etc. in a fashion that tells you what it is, you will not have self-documenting code.