This is mostly for Java/C/C++, but lots of “good” advice: How to Write Unmaintainable Code.
This one made me laugh out loud:
The real reason for #define was to help programmers who are familiar with another programming language to switch to C. Maybe you will find declarations like ” #define begin { ” or ” #define end } ” useful to write more interesting code.