Modularization more goals
From Apache OpenOffice Wiki
Contents
Goals of Modularization
Reducing dependencies
- implementation dependencies (improve maintainability, testability, correctness)
- build time dependencies (reduce build effort, also accelerate development)
- run time dependencies (improve runtime efficiency)
Maintainability
- clear points of responsibility - one piece of code for each task
- changes have less risk, because they most times only affect a clearly separated amount of code
- code is easier to understand, if module's tasks and interfaces are clearly defined
Testability
- modules can be tested in isolation
Runtime efficiency
- only needed modules are loaded, leading to less memory usage and faster startup
Correctness
- less regression, because changes have fewer side effects
- better tests, because tests can concentrate on sharply separated units