Rule 2. Measure. Don't tune for speed until you've measured, and even then don't unless one part of the code overwhelms the rest.
Rule 3. Fancy algorithms are slow when n is small, and n is usually small. Fancy algorithms have big constants. Until you know that n is frequently going to be big, don't get fancy. (Even if n does get big, use Rule 2 first.)
Rule 4. Fancy algorithms are buggier than simple ones, and they're much harder to implement. Use simple algorithms as well as simple data structures.
Rule 5. Data dominates. If you've chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming.
1. Thou shalt not skip out on proper documentation, otherwise you and your comrades will suffer the consequences within time.
2. Thou shalt use appropriate standards developed by yourself, your team and the community surrounding your tools.
3. Thou shalt take breaks
4. Thou shalt understand the problem in full before approaching a solution
5. Thou shalt value the time of yourself and your users
I could keep going...
https://www.codesimplicity.com/post/the-primary-law-of-softw...