- Make sure that your style is consistent. In our group (thanks Brian), we use CamelCase for classes, underscores and lower_case for functions. Indentation is two spaces.
- Use descriptive names for variables.
- Document intent, inputs, and outputs for functions. Especially in Python.
- Try to avoid functions longer than you can read on your screen
- Be familiar with standard library functions, both in C++ and Python
- Don't introduce too many non-standard library dependencies.
- Be aware of encapsulation: if you find yourself trying to access member variables of another class, think hard about what you're doing.