Hacker News new | ask | show | jobs
by woojoo666 1474 days ago
It's not a way of detecting it but what about dead code elimination, like Javascript's tree shaking [1]?

Of course if your dependency is a spaghetti, tree shaking wouldn't do much but neither would an analysis tool. Poorly architected code with no separation of concerns, will cause every entrypoint to touch every LOC

[1]: https://developer.mozilla.org/en-US/docs/Glossary/Tree_shaki...

1 comments

Tree shaking could help, but an issue is that in bigger libraries there will often be shared abstractions that wouldn't be present in a more targeted implementation. Even libraries that are well architected and have good separation of concerns.

Unless the library is a collection of independent functions like lodash, there will be some interdependency (in the name of code quality!).

Of course, (ab)using "more targeted implementations" can cause other problems, like using too many libraries for example. No silver bullet.