Modular Approach in Programming

Modular programming is the process of subdividing a computer program into separate sub-programs. A module is a separate software component. It can often be used in a variety of applications and functions with other components of the system.

  • Some programs might have thousands or millions of lines and to manage such programs it becomes quite difficult as there might be too many of syntax errors or logical errors present in the program, so to manage such type of programs concept of modular programming approached.
  • Each sub-module contains something necessary to execute only one aspect of the desired functionality.
  • Modular programming emphasis on breaking of large programs into small problems to increase the maintainability, readability of the code and to make the program handy to make any changes in future or to correct the errors.

Points which should be taken care of prior to modular program development:

  1. Limitations of each and every module should be decided.
  2. In which way a program is to be partitioned into different modules.
  3. Communication among different modules of the code for proper execution of the entire program.

Advantages of Using Modular Programming Approach –



  1. Ease of Use :This approach allows simplicity, as rather than focusing on the entire thousands and millions of lines code in one go we can access it in the form of modules. This allows ease in debugging the code and prone to less error.
  2. Reusability :It allows the user to reuse the functionality with a different interface without typing the whole program again.
  3. Ease of Maintenance : It helps in less collision at the time of working on modules, helping a team to work with proper collaboration while working on a large application.

Example of Modular Programming in C

C is called a structured programming language because to solve a large problem, C programming language divides the problem into smaller modules called functions or procedures each of which handles a particular responsibility. The program which solves the entire problem is a collection of such functions.
Module is basically a set of interrelated files that share their implementation details but hide it from the outside world. How can we implement modular programming in c? Each function defined in C by default is globally accessible. This can be done by including the header file in which implementation of the function is defined.
Suppose, we want to declare a Stack data type and at the same time want to hide the implementation, including its data structure, from users. We can do this by first defining a public file called stack.h which contains generic data Stack data type and the functions which are supported by the stack data type.
In the header file we must include only the definitions of constants, structures, variables and functions with the name of the module, that makes easy to identify source of definition in a larger program with many modules.
Keywords extern and static help in the implementation of modularity in C.

stack.h:
         extern stack_var1;
         extern int stack_do_something(void);
          

Now we can create a file named stack.c that contains implementation of stack data type:

stack.c
#include
int stack_var1;
static int stack_var2;

int stack_do_something(void)
{
  stack_var1 = 2;
  stack_var2 = 5;
}

The main file which may includes module stack

#include
int main(int argc, char*argv[]){
while(1){
  stack_do_something();
    }
}


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.