历史上最慢的GitHub拉取请求

💡 原文英文,约1300词,阅读约需5分钟。
📝

内容提要

文章讨论了软件代码发布的速度,提到历史上最慢的代码变更和项目,如Graphite的数据中某些合并请求耗时长达1857天,以及IBM的OS/360和微软的Vista因复杂性和管理问题导致的延迟。现代工程项目通过持续集成和开发工具加速了代码审查过程,未来软件开发将更快。

🔎

延伸解读

极慢合并请求的常见特征

文章指出,Graphite 数据集中最慢的合并请求并非无意义的改动,而是来自知名开源仓库的真实变更,例如 Matplotlib、Imgix 和 Datadog 的 PR,耗时从 4.2 年到 5.1 年不等。这些改动本身可能很小,如更新 README 或添加许可证文件,却在审查流程中停滞多年。这说明即使最终被合并,代码审查的延迟也可能与改动重要性无关,而更多受流程和优先级影响。

大型项目延期的历史教训

文章列举了多个严重延期的软件项目,如 IBM OS/360 开发两年但成本超 50 亿美元,微软 Vista 开发超过五年并经历重置,以及 Duke Nukem Forever 从宣布到发布历时 15 年。这些案例的共同点是项目复杂度高、管理困难或频繁更换技术方向,导致开发周期远超预期。它们提醒读者,缺乏迭代和持续交付可能使项目陷入长期停滞甚至取消。

现代工程实践如何加速交付

文章认为,现代工程项目已从历史教训中学习,通过持续集成、持续交付、构建工具和代码审查优化来缩短发布周期。例如,博德之门 3 自 2018 年开发,但通过 2020 年起的抢先体验模式公开迭代。CI/CD 工作流和 DevOps 实践的普及,使得代码审查和合并速度整体提升,减少了多年 PR 的出现频率。

未来趋势与工具的作用

文章提到,代码审查流程在开源和专有生态中都在加速,这得益于 CI/CD、构建工具和代码审查等创新。Graphite 等工具正在推动工程生产力,例如通过 Slack 内审查、AI 评论建议和堆叠合并等功能进一步减少迭代时间。尽管偶尔仍会出现多年未合并的 PR,但整体趋势是软件开发将更快,工具将继续帮助团队避免长期停滞。

❓

Q&A

历史上最慢的GitHub拉取请求是什么?

历史上最慢的GitHub拉取请求是Graphite中的一个合并请求,耗时1857天。

IBM的OS/360项目为何耗时如此之长?

IBM的OS/360项目因其复杂性和管理问题,开发时间从1964年到1966年,成本超过50亿美元。

微软Vista操作系统的开发经历了哪些问题?

微软Vista的开发经历了多次重大变更,耗时超过五年,最终于2006年发布。

现代软件开发如何加速代码审查过程?

现代软件开发通过持续集成和开发工具加速了代码审查过程,减少了发布周期。

未来的软件开发趋势是什么?

未来的软件开发将更快,工具如Graphite正在推动工程生产力的提升。

有哪些著名的软件项目因延迟而被取消?

著名的软件项目包括Apple的Copland和微软的WinFS,这些项目因延迟而最终被取消。

🏷️

标签

➡️

继续阅读