Summary
In this chapter, and indeed in this entire book, we have looked at how the application of modular programming techniques help you deal with the process of programming in the most effective way possible. Rather than avoiding change, you are able to manage it so that your code continues to work and is improved over time by the new requirements that are thrown at it.
We have looked at another example of a program that needed to be changed to meet an expanding set of requirements, and have seen how modular techniques, including the use of docstrings and unit tests, help to write robust and easy to understand code that improves as it continues to be developed and changed.
We have seen how the application of modular techniques is a vital part of dealing with the complexity of a program, and that this complexity only increases over time. We have learned that, because of this, the use of modular programming techniques is an essential part of what it means to be a good programmer. Finally...