4.3.12 Discuss the need for sub-programmes and collections within programmed solutions




Key benefits/advantages:
– Usefulness of reusable code 
– Eases program organization, both for the individual programmer, team members 
– Makes future maintenance easier 
– you only have fix/update a module, not the whole program 

-Manageable tasks

• Breaking down a programming project into modules makes it more manageable. 
• These individual modules are easier to design, implement and test. 
• Then you can use these modules to construct the overall program.  

Distributed development

• Modular programming allows distributed development. 
• By breaking down the problem into multiple tasks, different developers can work in parallel. 
• And this will shorten the development time. 

-Code re-usability

• A program module can be reused in programs. 
• This is a convenient feature because it reduces redundant code. 
• Modules can also be reused in future projects. 
• It is much easier to reuse a module than recreate program logic from scratch. 

-Program readability

• Modular programming leads to more readable programs. 
• Modules can be implemented as user-defined functions. 
• A program that has plenty of functions is straightforward. 
• But a program with no functions can be very long and hard to follow.