4 ms·
But we have this in software. On the JVM, Maven repos are essentially an enormous repository of existing modules that you can pull in your project with a one li
by incepted 11y ago
But we have this in software. On the JVM, Maven repos are essentially an enormous repository of existing modules that you can pull in your project with a one line addition to your build file. This covers small utility libraries to manipulate strings or dates (like the one you allude to) to entire ecosystems like web containers and everything in-between.
I don't understand what part of this doesn't qualify as a "reusable module" to you.
- hbt 11y agonpm and maven modules are not easily discoverable - How do you search for a function other than by description or name. Assuming the developer classified properly and you even happen to use the same domain language as the writer. - When multiple modules are returned, similar packages, how do you compare and select efficiently without wasting hours reading the code, evaluating it, checking if it is still maintained and hoping there are no hidden bugs etc. It is easy to share code. Package manager even facilitate updating code. But it is still a nightmare to find/discover code and reuse it It's like building a lego set. You know the building block you want but if you have to spend hours looking for it, you give up. I believe competent developers write shitty code not because they are lazy or inexperienced but because the cost of writing great code is very high.
- Tyr42 11y agoHoogle helps for Haskell projects, as you can search by Type, and the Types are expressive enough that that actually finds what you're looking for most of the time.
- lsiebert 11y agoA random thought. Linting and static analysis tools for code smells might be correlated with bad code, in which case a tool that let you see that package A has huge monolithic functions and poor test and Package B is modular and simple and good test coverage might be a good way to decide between modules that do the same thing.
- incepted 11y ago> - How do you search for a function other than by description or name. You were asking for modules and now you're down to the function level. That's a much easier problem to solve. Hoogle, Javadoc, documentation and good index engines solve this problem easily. Note that type only is pretty ambiguous and most of the time useless without additional metadata. Types tell you what, they don't tell you why or how. > - When multiple modules are returned, similar packages, how do you compare and select efficiently without wasting hours reading the code, evaluating it, checking if it is still maintained and hoping there are no hidden bugs etc. At some point, the human brain has to step in and make a call. You can't expect an automated tool to dictate to you the code you need to write.