This was a really worthwhile course run @Bath via Software Carpentry.
The key things that I took from this are:
- cntl R in shell provides a search of recent-ish commands. Worth it just for this.
- Use documentation (triple double brackets in python) to make help files for future you and others. Provide examples. Say what the input and output is. Write documentation before you start – can help with sorting ideas and when you get interrupted. Everyone else doesn’t comment. Be the change. 🙂
- Revision control. It really is important.
- Testing. Without testing, how do you know that you’re getting what you think you are?
- Automate things. Save time and mistakes.
There is a great github site for it here. A decent python tutorial was pointed to too.