| I'm not sure what your googling-error-message example is intended to demonstrate. And again I'm not claiming self-rolled is always better; but merely responding to a specific claim. The bottom line is one has to weigh the trade-offs using multiple metrics and factors. A large part of managing technical projects is the balancing of tradeoffs. IF an app depends heavily on a feature AND there are not many external alternatives, then a shop should lean toward rolling their own. A related issue is the volume of code. If the in-house version is 500 lines of code and the external (downloaded) version is 5,000 lines, then the internal one may be easier to debug and fix. (Yes, I realize that lines of code is not the only factor to consider.) Common factors to look at: 1. Complexity of the part, including dependencies on other parts. 2. Swappability of the part for alternatives. 3. How well the part is written and documented. 4. Need for the part. If it's merely a "bonus", then dependency may be less of a problem/risk. |
> I personally find it far easier to fix my own code than others' code.
is that if you work on a team, you're fixing others' code either way. The difference is that with an external library there's usually documentation, a community, etc; but with a home-rolled solution, you're usually on your own.