Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rutgers!ames!oliveb!intelca!amd!eager From: eager@amd.UUCP (mike eager) Newsgroups: comp.lang.c Subject: Re: Function prototypes (was: miscellaneous unrelated stuff) Message-ID: <3963@amd.UUCP> Date: Thu, 7-May-87 04:17:21 EDT Article-I.D.: amd.3963 Posted: Thu May 7 04:17:21 1987 Date-Received: Sat, 9-May-87 02:43:50 EDT References: <18346@ucbvax.BERKELEY.EDU> <7973@utzoo.UUCP> <796@rtech.UUCP> <1821@husc6.UUCP> <1822@husc6.UUCP> Reply-To: eager@amd.UUCP (mike eager) Organization: Eager Consulting Lines: 15 Summary:Too many cross-module connections In article <1822@husc6.UUCP> olson@endor.UUCP (Eric Olson) writes: >>So I can prototype >>everything in a header file included in all my modules, but then adding a >>module forces a complete re-make. Glen Myers' book __Reliable_Software_through_Composite_Design__ gives a list of the features of good programs. He describes several forms of coupling between programs. By having a reference to every function included in every file, you have coupled all of the files together in a low quality fashion. The result is the re-make. The solution is to reference only the functions which are actually used in each file. This will keep unrelated things from interacting. You may need more include files. You may find that the programs document themselves a wee bit better, since they now mention only things which??thes't be