Indenting properly can do much to improve the ease of reading a program. There is both internal and external documentation. It also includes a comment section for each function, listing what is being passed into it via the parameters, what the function's main task is, and what values are being passed back out via the parameters or function name. Internal documentation also includes a description of each user-defined class. External documentation is separate from the program and may consist of items like the specifications, various charts, a record of testing, etc.
Efficiency is also of some importance.
Don't needlessly waste computer time or memory space. In particular, don't waste a lot of it. Do not have a variable do double duty, as in using a variable called Total to hold both the total of some data items, and later the average of these data items. Do not have a section of program do double duty in a non-obvious way. The intention of each section of code should be reasonably clear.