Ten simple rules for biologists learning to program
Fig 3
Anatomy of an error message, Part 2 (or: Just because it works, doesn’t mean it’s right).
Here we provide more examples of the debugging process. Examples shown in Figs 3–5 are conducted in Python using a Jupyter notebook. Environments like RStudio (in Fig 2) and Jupyter notebooks are two examples of integrated development environments; these environments offer additional support, including built-in debugging tools. First, we show an error that does not induce an error message, but the user must debug nonetheless.