5 ms·
I'm working on a large (at least 300k+ loc) Django code base right now and we have 32 direct dependencies. Mostly stuff like lxml, pillow and pandas. It's very
by sebra 6mo ago
I'm working on a large (at least 300k+ loc) Django code base right now and we have 32 direct dependencies. Mostly stuff like lxml, pillow and pandas. It's very easy to use all the nice Django libs out there but you don't have to.
- f311a 6mo agoI was talking about total deps, not direct. By installing something like Celery, you get 8-10 extra dependencies that, in turn, can also have extra deps. And yeah, extra deps can conflict with each other as well.
- louiskottmann 6mo agoI find the thought daunting but the reality surprisingly easy. You just keep up as you go, as long as you keep things close to the framework it's fine.
- IshKebab 6mo ago> You just keep up as you go He said "Updating a project that was started 5-6 years ago takes a lot of time."
- WJW 6mo agoYes but GP said "In reality it's not that much".
- bryanlarsen 6mo agoNot much work every few months turns into a lot over years, especially if you skip a few of those "every few months" events.
- tomnipotent 6mo agoI'm confused. It's too much work to upgrade dependencies, but not too much time to write from scratch and maintain, in perpetuity, original code?
- bryanlarsen 6mo agoYes. I've probably spent more time maintaining a trivial Rails app originally written in 2007 than I spent writing it in the first place.
- WJW 6mo agoBut if you would have rewritten the entire app every time you needed to update the dependencies, that would have taken even more time.
- WJW 6mo agoThat is obviously true but doesn't mean as much as you seem to think. Washing laundry is also not much work but it adds up to a lot over the years, especially if you skip a few weeks of laundry every once in a while. That is not an excuse to not do it. The answer is the same in both cases: acquire some discipline and treat maintenance with the respect it deserves.
- graemep 6mo agoIt is easy, and people tend to do what is easy. It takes more effort to minimise dependencies. Your boss or your client will not even notice. Obviously there are some dependencies that you cannot easily avoid (like the things you mention). On the other hand there is a lot off stuff used that is not that hard to avoid - things like wrappers for REST APIs are often not really necessary.