Avoiding Dependency Hell

Dependency Hell

Preface

The Start

Set Trap

Trouble

Workaround

  • they understand the API of k but not its implementation.
  • they are not aware of d or what it does let alone the changes required to port from d-1 to d-2.
  • what they, and their boss, thought was going to be a quick performance improvement has become a time consuming task

Enter the Uber Commons

Upgrade

Harmony

Notes

  • An uber commons also makes refactoring simpler as the IDE has wider visibility of dependencies.
  • An uber commons does not mean as much code as possible should be moved into the commons project. Non shared code used for services or applications should live with the application/service.
  • When publishing uber commons all sub project artefacts are published. This will consume more disk space but will also make old artefact cleanup easier as, over time, there will be fewer old artefacts referenced.
  • Making the changes required to all dependent commons projects when changing a referenced project keeps the project as a whole more up-to-date and as-such reduced technical debt.

Conclusion

Consistent Dependencies

Appendix

--

--

--

London based developer of software and ideas. To get in contact www.linkedin.com/in/simon-maxen.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

The Importance of Inheritance in Ruby

Kubernetes Auto-scaling in response to RabbitMQ Queue length via GCP Cloud Functions

Unrolled linked list in Go

What is the true cost of a piece of software?

Total Cost of Ownership

Best Time to Buy and Sell Stock problem -Python (Leet Code)

My Coding Process and How One Size Does Not Fit All

The Six Most Important Things to Know About Python Functions

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Simon Maxen

Simon Maxen

London based developer of software and ideas. To get in contact www.linkedin.com/in/simon-maxen.

More from Medium

Which one to choose between C & C++?

In C++, write a method that follows the Collatz conjecture.

C static libraries — What and Why?

A bold woman tip-toeing on a precarious pile of books at a — not so static — library

Why Do Programmers Need Algorithms at All?