Here at Composable Systems, summer is winding down and fall is coming into town. Though it may not feel like fall just yet, we have been hosting employee bake-offs and our annual chili cook-off. With all of these autumn festivities, we have been spending more time out on our deck enjoying the weather. Our deck lends us a decent view of the construction of AC Hotel Nulu at the corner of East Market Street and Shelby Street. As the hotel is being constructed, we noticed that they are using a modular design for the structure. The construction crew is placing prefabricated compartments with a large crane to assemble the body of the structure. This brings to mind a concept for our code as well: modular code. The modularization of a code base brings several benefits to our applications that we code.
Code modularization allows us to break up the work of a code base, and enables collaboration in our offices. When we break the code up into manageable pieces that are decoupled, our code can be worked on and tested separately. This introduces fewer bugs and increases turn-around time on our features for clients.
Additionally, modularization enforces versioning techniques. These versioning techniques allow us to fix issues and introduce new features on a timed schedule. If needed, we can roll back changes to the last stable version.
Modular code enables us to have a logical structure to our code base. We are able to write a module that works, then call that module from any other place in our code base without duplicating code. When we need to make changes, we make them in one place, which allows us to use that new code everywhere the old code was used without having to duplicate work.
These three benefits make it easier to rapidly create, test, and publish work for our clients. This, in turn, reduces costs when we begin a new product or improve upon an existing product.