TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Software does not evolve; software degenerates

9 点作者 nocivus大约 15 年前

3 条评论

benwerd大约 15 年前
Seems like a great argument for clear, modular, well-written code to me. Sometimes you get dead ends, but that's true of evolution too. If your base is sufficiently flexible that it can tolerate significant changes, the amount of refactoring you have to do further down the line is diminished.
评论 #1231843 未加载
bediger大约 15 年前
He needs to take a look at this one: "Does Code Decay? Assessing the Evidence from Change Management Data"<p><a href="http://nisla05.niss.org/technicalreports/tr81.pdf" rel="nofollow">http://nisla05.niss.org/technicalreports/tr81.pdf</a><p>The answer is "yes", except if you undertake extraordinarily rare "perfective maintenance". Mostly, managers Just Want It Done Fast, so perfective maintenance never ever gets done, leading to devolving code.
locopati大约 15 年前
The dead ends of the first design usually inform the design decisions of a major rewrite/refactoring. So, in that way the line of evolution is unbroken. Even moreso, if you expand the metaphor from the evolution of an individual or a species to the evolution of an ecosystem, which is really what a software project is - the code, the libraries, the deployment environments, the containers (hardware, databases, app servers, etc), etc.