<wlan07/>

modular_programming

# What is modular programming?
The concept of modular programming is inspired from modular design and basically is decomposing complex & large softwares into simples modules for an easy and faster implementation by allowing parallel developement of different parts of the system .
# What is modularity ?
Modularity refers to the division of software into separate modules which are differently named and addressed and are integrated later on in order to obtain the completely functional software . it allows a program to be intellectually manageable , while single large programs are difficult to understand and read .
# Properties of a modular system ?
Modularity is all about making blocks, and each block is made with the help of other blocks. Every block in itself is solid and testable and can be stacked together to create an entire application. Therefore, thinking about the concept of modularity is also like building the whole architecture of the application.
# Advantages of modular programming ?

Code is easier to read - Working on modular programming makes code easier to read because functions perform different tasks as compared to monolithic codes.

Code is easier to test - In software, some functions perform fewer tasks and also functions that perform numerous tasks. If the software is easily split using modules, it becomes easier to test.

Reusability - There are times where a piece of code is implemented everywhere in our program. Instead of copying and pasting it, again and again, modularity gives us the advantage of reusability so that we can pull our code from anywhere using interfaces or libraries. The concept of reusability also reduces the size of our program.

Faster fixes - Suppose there is an error in the payment options in any application, and the bug needs to be removed. Modularity can be a great help because we know that there will be a separate function that will contain the code of payments, and only that function will only be rectified. Thus using modules to find and fixing bugs becomes much more smooth and maintainable.

Easy collaboration - Different developers work on a single piece of code in the team. There are chances of conflicts when there's a git merge. This conflict can be reduced if the code is split between more functions, files, repos, etc. We can also provide ownership to specific code modules, where a team member can break them down into smaller tasks.

# Disadvantages of modular programming ?
# IMPORTANT !
There is some concepts you should know about them like decoupling , coupling & cohesion :
The blog gonna end up just right here so you don't get bored and if you want to grasp more about that topic try to learn more about the last 3 concepts that we have just talked about briefly .
# References
built-with-love