A major concern of software development using traditional procedural techniques appears in big projects, where complexities surround the large software project to be designed. In projects involving tens of thousands of lines of code, keeping a clear knowledge of what any segment of code does becomes more and more difficult.
To overcome the problem of mix-ups — and the repetition of similar code in different stages of the program — modularity was designed: code is written in segments, each doing one specific function, and each referenceable from any part of the program. Similar functions are gathered into a module. Since modules are independent, the complete software becomes a collection of functional units, or sub-programs, that together make up the whole.
What it doesWhat Modular Programming Does
Modularity in programming simply encourages the separation of a program's functionality into distinct, independent units, such that every unit contains everything required to execute just that one aspect of the program. The elements in a module's interface can be detected by the other modules of the program. Modular programming today deals with the high-level decomposition of an entire program's code into functional, independent units.
The case for itThe Importance Of Modular Programming
Ability To Reuse Code
Modularity enables programmers to use the same code in a module over and over again — simply by referencing the code to perform its specific action from different locations in the program. Creating units, or classes, is what guarantees this.
Easy Debugging
A program with millions of lines of code presents a huge task when debugging is required — if it is not built in modules. You can imagine what it is like to search through such a huge environment hunting for errors. Having each task in its own discrete module makes the process far easier to carry out. A faulty function can easily be checked for errors when it lives in a module.
Simplicity And Ease Of Maintenance
With modularity, the total number of lines of code should shrink. Beyond eliminating the repetition of similar code, modularity simplifies the entire process of developing a large project, by letting different programmers work on different aspects of it at the same time.
Organization
Modularization makes a program much better to read and understand. It keeps the programmer better organised in their coding, which pays off whenever referencing is needed. It also means other programmers who want to examine the workings of a module find it far easier to read. Modularity thus improves readability through well-organised design.
Modularity Encourages Teamwork And Collaboration
Modular design in program development improves the collaborative efforts of different programmers. It builds the teamwork spirit that any major project — one requiring thousands of lines of code — depends on to reach completion.
Modularity Is Reliable
With all its features — simplicity, ease of debugging, organization, and more — modularity can be described in one word: a "reliable" technique for software development.The verdict
Related reading: see how these ideas grew into a whole paradigm in the evolution of AOSD.