Most companies have certain tasks that are unique to their company. Collectively the programming staf may decide to build several functions and organize them into one or more user libraries. Specifc task functions are often built using a testing shell program. The sole purpose of the testing shell program is to create the specific task functions and to test them to insure that they are working properly. Think of a clam, its shell surrounds the important part, the pearl. A testing shell program surrounds the specific task function (the important part). Usually the testing shell program will be used to create several functions that will be placed into a user defined library. The process fows as follows:
- The testing shell program with the specific task functions is built and thoroughly tested.
- A copy of the testing shell source code is saved as the header file that once modifed will be placed in the user library. You delete the main part of the program leaving a comments area, any needed include file references and the specific task functions.
- Another copy of the testing shell source code is saved as the prototypes file. This is a text file that retains only the prototypes for the functions that were placed into the header file. The functions should be using meaningful identifier names, thus the prototypes should provide adequate information to others on how to call the function with appropriate parameter passing.
- Another copy of the testing shell source code is saved as the verify header program. You delete the functions prototypes and definitions then provide an include that points to the header file. This program is compiled and run to make sure the header file is working properly.
A good way to understand the concept is to review the four files described above that have been created by a programmer. We will be using the C++ programming language, however the code is easy to understand and will serve our needs well at explaining the concepts; even if you are not familiar with C++.