Building Large Projects

3.1 Hierarchy and Internal Structure

A complex project may consist of many programming language source files as well as input/output data files. Also depending on complexity of the problem the project may have one or more applications (executables). A good programming practice suggests a hierarchical storage for all of this data on the disks:

Top_Dir -----+----- bin      (executables)
             !
             +----- input    (input data)
             !
             +----- output   (output data/ results)
             !
             +----- src      (programming language sources)
             !
             +----- lib      (libraries)
             !
             +----- jobs     (OS batches/scripts)
             !
             +----- work     (temporary space/files)

The binary data files should be stored in separate directories to simplify the platform portability (Mac <–> Unix <–> MS Windows) for plain text files.