Most of the code you write is not for yourself or for the computer, but for a other software developers. If you want that your colleagues understand your code, you have to consider certain aspects. Dino Esposito discusses these topics in this presentation.
Video producer: http://basta.net/