Now that we have explored an event-loop-based approach to creating our program, let's consider an alternative approach built using threads, callbacks, and OOP and see how this approach improves code readability and maintainability and promotes code reuse.
The code for the threaded-based approach can be found in the chapter12/version2_threads folder. You will find four files – the main program, main.py, and three class definitions: LED.py, BUTTON.py, and POT.py.
Please take the time now to stop and read through the code contained in main.py to get a basic understanding of how the program is structured and how it works. Then, proceed to review LED.py, BUTTON.py, and POT.py.
How did it go, and what did you notice? I'd guess that you found this version of the program (while reading through main.py) much quicker and easier to understand and noticed that there is no cumbersome and complex while loop, but instead a ...