Summary
In this chapter, we explored debugging. Debugging is something that is overlooked by developing programmers and is a skill that is often learned by trial and error. The main takeaway from this chapter is that debugging is a skill much like coding and you have to practice it to hone it. As we have seen, much like the way software development is a process, so is debugging.
Many different tools and techniques can be used to help debug programs. However, the greatest tool that a developer has at their disposal is critical thinking. As we practiced with the state machine, you don’t always need tools such as debuggers. Though they are widely used tools that you should master, it is oftentimes just as effective to use print debugging and deductive reasoning to troubleshoot code. In short, as we move forward with an in-depth look at variables, it is important to note that you will continue to use debugging.