Aside from any benefits on reusability, a major reason for splitting software into at least file size chunks is so that multiple people can work on a project at once. There is the probably apocryphal story of an early compiler which had six passes because there were six people on the team. I've personally seen some less extreme examples in which classes got moved across files to facilitate concurrent development.
Ruven Brooks -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Derek M Jones Sent: Monday, February 16, 2004 6:54 AM To: [EMAIL PROTECTED] Subject: Re: PPIG discuss: Modularity: An absoloute good? Yishay Mor, >Throughout my career as a software engineer, and as an educator of >such, I was brought up on the postulate that modularity is the holy >grail of design. Software should be built in encapsulated, reusable, >independent bits. > >My recent experience in using software construction as a means of >exploring mathematical ideas has led me to rethink this position. Not >that I would like to denounce modularity, but I think I need to >redefine (for myself) its boundaries and limitations. I agree. The advantages of modularity in hardware is very well argued in "Design Rules" by Baldwin & Clark. However, one of the main benefits they found for hardware (replaceability of components) might not be applicable to software (which tends to stay put once written). The "Goldilocks Conjecture" argues that there is an optimal module size that minimizes faults in the code. However, the data is scanty and the correlations poor. I know developers who used to split code up into separate files to minimise recompilation time during development, or because they had exceeded the capacity of the editor being used. I guess with todays computers these issues are nolonger driving forces in the structuring of software. derek -- Derek M Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd mailto:[EMAIL PROTECTED] Applications Standards Conformance Testing http://www.knosof.co.uk ---------------------------------------------------------------------- PPIG Discuss List ([EMAIL PROTECTED]) Discuss admin: http://limitlessmail.net/mailman/listinfo/discuss Announce admin: http://limitlessmail.net/mailman/listinfo/announce PPIG Discuss archive: http://www.mail-archive.com/discuss%40ppig.org/ ---------------------------------------------------------------------- PPIG Discuss List ([EMAIL PROTECTED]) Discuss admin: http://limitlessmail.net/mailman/listinfo/discuss Announce admin: http://limitlessmail.net/mailman/listinfo/announce PPIG Discuss archive: http://www.mail-archive.com/discuss%40ppig.org/
