DEV Community

Discussion on: Dependency Hell

Collapse
 
vilfrim profile image
vilfrim

Been there, done that :) First if you haven't already bought Michael Feathers' book "Working Effectively with Legacy Code" then do so now. It's old but still totally valid stuff.
Without knowing more, I personally would start with some kind of roadmap to new architecture and then make sure that every dev/architect understands and is committed to that. The roadmap should be revisited every once and a while to make sure it's still relevant and make any necessary corrections.
That was the hard part, to make sure that everyone is on board and understands the plan, rest is just coding :)
Next would be breaking the dependencies. I'd recommend reading book called Clean Architecture by Robert C. Martin. There of course other books too.
But basically you create a anti-corruption layer which separates 3rd party software from your own. Just remember not to leave refactoring half way. You either break dependency entirely or you leave it be. Because if you leave the breaking half way through you just made your code worse by having two kinds of code, old and new.
Hopefully this helps :)

Collapse
 
xanderyzwich profile image
Corey McCarty

Our current work is to leave web logic and be cloud native. We have been promised actual re-architecting after we finish this. I will definitely look into those books.

Collapse
 
vilfrim profile image
vilfrim

I forgot this "Making Architecture Matter - Martin Fowler Keynote" youtube.com/watch?v=DngAZyWMGR0 15 minute keynote speak about software architecture.