中文

Meta 公司的代码改进实践

计算与语言 2025-04-18 v1

摘要

快速软件交付的焦点不可避免地导致技术债务的积累,这反过来影响质量并减缓未来开发。尽管如此,一些拥有长期快速交付历史的公司仍然存在。我们的主要目标是发现此类公司是如何保持其代码库可维护的。方法:我们通过与工程师合作进行代码质量分析,并分析丰富的源代码变更历史,从而揭示了用于持续改进代码库的各种实践。此外,我们复制了若干之前行业案例研究的若干方面,以检验代码重构的影响。结果:Meta 上的代码改进范围从完全由工程师个人主动性发起的自发性 grass-roots 实践,到定期留出时间并通过 Better Engineering(BE)工作的 gamification 参与,到旨在重构代码库复杂部分或删除积累的死代码的大型显式计划。超过 14% 的变更是明确用于代码改进,开发人员会获得“徽章”以确认工作类型和工作量。我们开发指标来决定要改进的代码库哪些部分。我们分析了重构活动的影响,发现质量和速度都有显著提升,同时代码复杂度降低。总体而言,这种持续改进是一种有效的方法,可实现快速发布的软件开发,同时保持高质量。

关键词

引用

@article{arxiv.2504.12516,
  title  = {BrowseComp: A Simple Yet Challenging Benchmark for Browsing Agents},
  author = {Jason Wei and Zhiqing Sun and Spencer Papay and Scott McKinney and Jeffrey Han and Isa Fulford and Hyung Won Chung and Alex Tachard Passos and William Fedus and Amelia Glaese},
  journal= {arXiv preprint arXiv:2504.12516},
  year   = {2025}
}