It's some 'rules' look alike :
[ Structure ]
- if you have two times ( or more ) the same code patterns, it could be relevant to write a function, then use it two times.
- count all vars 'alive', do you need every same vars, or one could be used several times.
[ Knowledge Requirement ]
- use the language at its best, you have to deeply know it ( for you C++ : pointer , reference address, Class design ). Mastering a language is a kind of starting point, become an expert.
[ Self Improvement ]
- mind your code, read it again and again, criticize your code. by a visible default in the code : fix it in the minute coming.
[ Memory Management ]
- free your vars when they are unused. [ object / Array / high level container / var ]
[ Optimistic Code Design ]
- give up with processing all cases could happen in a code, go straight to it.
Beginners try functions and syntax, but your code change with the all years of work.
you will see that 'beginners' write too much code.
[ self-control and career ]
- your code style and quality will change across the years ( with lot of work ), remind how hard was your first lines of code.
- congrats yourself and your workmates.
[ Code Status ]
- compare methods, and code; and choose the fast one : recursion is faster than a classic loop, pointer using is one speed upto a common coding ( C++ / C )
- identify a low speed code, aside a fast speed code, make the difference between those two.
[ ASM ]
- ASM make CPU working better, always learn ASM. Codes are more light.