In this chapter, we will cover the following topics:
- 2.1. Learning the basics of the Unix shell
- 2.2. Using the latest features of Python 3
- 2.3. Learning the basics of the distributed version control system Git
- 2.4. A typical workflow with Git branching
- 2.5. Efficient interactive computing workflows with IPython
- 2.6. Ten tips for conducting reproducible interactive computing experiments
- 2.7. Writing high-quality Python code
- 2.8. Writing unit tests with py.test
- 2.9. Debugging code with IPython *
This is a special chapter about good practices in interactive computing. It describes how to work efficiently and properly with the tools this book is about. We will introduce common tools such as the Unix shell, the latest features of Python 3, and git, before tackling reproducible computing experiments (notably with the Jupyter Notebook).
We will also cover more general topics in software development, such as code quality, debugging, and testing. Attention to these subjects can greatly improve the quality of our end products (for example, software, research, and publications). We will only scratch the surface here, but you will find many references to learn more about these important topics.