Previously, we outlined some basic concepts of project planning and code architecture. The strategy we recommended specifically called for gathering and listing requirements before adapting them into pseudocode, stub code, and eventually a completed project. This process is still very applicable to larger projects, but we have not covered the aspect of file and module organization. How should code be grouped into files and modules?
To answer this question, we recommend something called the workshop model. Imagine a physical workshop with pegboards, shelves, jars, toolboxes, and larger equipment on the floor. When speaking about code architecture, experts often talk about different organizational strategies. It is possible to group code by type, by purpose, by project layer, or by convenience. There are infinite possible strategies...