Analysis of longevity of code across many popular projects
1–10 of 52 posts
Re: Analysis of longevity of code across many popular projects
#2Just Amazing.
I wonder if there any research articles discussing the correlation between code-change and other metrics like product quality, change frequency of team members, estimation success, etc.
Re: Analysis of longevity of code across many popular projects
#3I'd posit that the reason is a nuance of #2, more thought was put into older code on the design of how it should work before making it work. Now we write code so fast that we have to scrap it all and do it again a second time to fix the mistakes of the first time [0]. I'm of the mind that upfront planning would've likely taken less time, but that's simply my opinion and I don't have anything to back it up besides anecdotal experience. The current practice of "move fast and break things" very well could be a better approach.
[0] I'm only mentioning this footnote due to the article picking on Angular (fairly or unfairly), but the point I made that this is footnoting is relevant to them potentially.
Re: Analysis of longevity of code across many popular projects
#4Great stuff here.
Definitely some merit to reason #3 - people are more willing to work on something that they can easily build on top of.
Re: Analysis of longevity of code across many popular projects
#5This is awesome. I ran it on pyramid for fun. http://imgur.com/a/KZ9KR
Re: Analysis of longevity of code across many popular projects
#6So its true... Angular is the code abyss, my colleagues said it was a legend but I have seen it with mine own eyes.
Thank you
Re: Analysis of longevity of code across many popular projects
#7Great work. Would be interesting to compare by language - see if particular languages need more or less refactoring.
Re: Analysis of longevity of code across many popular projects
#8The simplest explanation is that the exponential model is not a good one (does not correspond to the underlying dynamics), and so the half time value is not an inherent (time-independent) property of the codebase, but depends on its age. It seems to me that in most projects, the code evolves quickly in the beginning and then stabilizes on a slower linear decay. This would explain the observed dependence of the fitted half life on age. It might be more meaningful to fit a linear dependence at the beginning of the project and in the asymptotic regime and also look at their ratio. This should be more stable, would tell you how well was the project designed from the beginning, and would also indicate whether the project has already stabilized or not.
Re: Analysis of longevity of code across many popular projects
#9Interesting, but it is not surprising that git and redis are more stable than node and angular. Git and redis are well defined problems that won't change that much. Angular is a framework and node is a platform. They should change more. But then again... javascript fatigue is a thing from what I heard.
Re: Analysis of longevity of code across many popular projects
#10Maybe Linux is not rewritten because it doesn't have tests