Yes, literal variable and method names help.
If a project turns large (e.g. >> 1000 lines) and complex, one should also
- describe overall design, architecture and flow of the program
- describe concepts
- split and arrange the parts into meaningful modules
- describe the purpose of the modules
- describe parameters that control the software
- describe the format of input and output files
Of course, the extent of documentation depends on the type of the project and the attitude one has towards it
- do I want to try out something quickly and creatively, in the sense of rapid prototyping? - then I will document only loosely (as many of the codes in this forum or on openprocessing.org show)
- is it a full-fledged visualization project that involves several, also external, components? - then I should document thoroughly
The nice thing is that Processing supports both!