Principles of minimal programming
Define the problem precisely. Do not start writing code without knowing why you are writing.
Divide your code into independent modules. This will help in reusability.
Identify existing tools which can do the job. Re-inventing tools is BAD
You should be able to justify the existance of a line of code. If you cannot remove it.
Always write readable code. Variable and function names should be self explanatory.
Comment everything. Makes you a good programmer.
Commit code regularly. Makes you a responsible programmer.
Ask for feedback. Makes you a complete programmer.
Always go back and fix bugs. Makes you an awesome programmer.