Avoid Redundant Function Prototypes

Avoid Redundant Function Prototypes

In common top-down C/C++ programming, the main() function is written first, and then the functions that it calls, and then in turn the functions those functions call. For relatively small programs, or modules with static functions, the called functions can or must be contained in the same source code file as the calling functions. If they are added into the file after (“lower down” than) the function that calls them, safety checking language constraints require that a prototype be added in the file before that calling function so that the parameters and return values can be verified. Then, as the program evolves, the prototype must be kept synchronized with the function definition below it. In the case of functions called from different source code files, this typically is not a problem, since the prototypes are contained in header files which are #include’d at the top of the file. To avoid this redundancy, simply place the called functions before the calling functions, and let their definition act as the declaration. For example, it is more work to code:

 void DoWork();int main(){DoWork();return(0);}void DoWork() { /*function body*/ }

Than it is to simply do:

 void DoWork() { /*function body*/ }int main(){DoWork();return(0);}


Share the Post: