Functions — Making Code Modular and Maintainable
As a college-level programming instructor, the first thing I like to teach after teaching the basics, such as loops and flow control, is functions. For many new and non-classically trained programmers, the purpose of functions often makes little sense. For the most part, new and inexperienced software developers see functions as a useless code organization technique that convolutes code. However, I usually counter this logic by stating that programmers should be like sewists. When a sewist creates a quilt, they take individual patches and sew them together to create the quilt. When it’s time to create the quilt, there is little concern about creating a patch. The only thing they are worried about is integrating the patch into the quilt as a whole.
For the most part, a programmer should consider themselves to be a sewist of software and the patch of choice should be functions. As we will explore in this chapter, the code...