3 ms·
> Don't update unless you have to? We just starting hitting a bug in NHibernate where objects are GC'd that shouldn't, and it crashes. It was fixed in a newer
by d2p 12y ago
> Don't update unless you have to?
We just starting hitting a bug in NHibernate where objects are GC'd that shouldn't, and it crashes. It was fixed in a newer version, so we updated. This minor update changed the way a bunch of queries work (optimisations that fail when a certain feature is used), and we've had to roll back. We either have Bug A or Bug B.
> How is abandoned 3rd party code any worse than code you wrote yourself?
I understand code I wrote myself and can easily fix bugs. The lsat thing I want to do when I find a bug in a 3rd party library is spend weeks debugging their code because it's been abandoned. In many cases it's a false economy.
> 3rd party code is almost always a win
I don't think you've worked on enough codebases you didn't write that are years old and had hundreds of dependencies pulled in without any thought; especially in something with no sound type-system like JS :O(
Try upgrading jQuery when you've got 150 jQuery plugins that have been abandoned and/or don't work in the new version of IE :-/
- andybak 12y ago> We either have Bug A or Bug B Can you cherry-pick just the fix you want? I'll admit this depends how intertwingled the fixes are... > I understand code I wrote myself and can easily fix bugs. I assumed you were in a team - which would level things out a bit even if you have pretty consistent coding standards. Yes - in a one man team the cost/benefit calculation might change. > I don't think you've worked on enough codebases you didn't write that are years old and had hundreds of dependencies pulled in without any thought; especially in something with no sound type-system like JS :O( Maybe this is the key to our different perspectives. I use lots of 3rd party code but it has to pass the smell test. I'm mainly talking about the Python ecosystem and I've probably learnt how to spot trouble and run away. My heuristics are based on code location: (-5 if it's on Sourceforge or Launchpad, -3 if it's on Google code, -1 if it's on Bitbucket ;-) and then stuff like documentation, number of forks and recency of commits - plus just the vibe I get skimming the code...