Hasty Briefsbeta

双语

In defense of not understanding your codebase

3 hours ago
  • 软件工程师对代码库的理解有不同的看法:小型、低人员流动率的团队主张完全理解,而大型、高人员流动率的团队则接受部分理解。
  • 彼得·诺尔(Peter Naur)的'编程即理论构建'认为代码是程序员'程序理论'的副产品,但他的结论——当理论丢失时应该丢弃代码——对大型系统而言不切实际。
  • 由于无数细微特性,大型软件系统无法从头重建;重写必须通过逐步拆分小块进行增量式完成。
  • 即使没有原始团队成员,工程师也可以从单一流程开始,逐步扩展理解,从而复兴被遗弃的代码库。
  • 在足够大的代码库中,每个人都带着部分错误的理论运作;有效性需要做出有根据的猜测并处理后果。
  • 维护代码库理论只是众多工程价值之一,常常为了速度、法律合规或其他优先事项而权衡。
  • 大型语言模型阻碍了详细理论的构建,但能快速提供部分理论并实现有效的借力,代表了复杂的权衡。
  • 阻碍理论维护的其他因素包括团队人员流动、法律要求、安全补丁和依赖项。