Dependency Management
In part one of this book, you learned how to continuously deploy your application. In modern enterprise software development, applications are developed by cross-functional teams and involve complex solutions and projects. Complex solutions with hundreds of modules and functions have a greater probability of code duplication – that is, identical implementation for the same functionality within projects. Duplicated code is one of the cardinal sins of programming. You can solve problems by copying and pasting, but it usually creates maintenance nightmares later. Don’t Repeat Yourself (DRY) is a basic principle of software development aimed at reducing the repetition of information.
For a small or a single project, you may be able to handle dependencies on your own, but for complex solutions, a team will descend into dependency hell. One approach to solve this is by introducing package management. Developers need to identify the components to reuse...