There are three things that distinguish an excellent reusable module from a poor one:
It attempts to solve a general problem (or range of problems), rather than just performing a specific task
It follows standard conventions that make it easier to use the module elsewhere
The module is clearly documented so that other people can easily understand and use it
Let's take a closer look at each of these points.
You need to convert from inches into centimeters, so you write an
inch_to_cm()function to perform this task.
You need to read a list of place names from a text file, which uses...