Use good variable and method names. Break code up into meaningful pieces that accomplish specific purposes. Keep your classes cohesive (it all works together) and decoupled (there are few dependencies between classes). Don't repeat yourself (DRY). Follow Uncle Bob's SOLID principles (not laws, as he points out) to the degree that they work to make the code better.