如何修复错误并向源文件添加功能,同时保证不会破坏某些应用程序

How do you fix bugs and add features to a source file and also guarantee that you don’t break some applications?

本文关键字:应用程序 错误 何修复 源文件 功能 添加      更新时间:2023-10-16

文件将带有错误,公司总是希望提供新功能。一定是一种分发新文件的方式,希望应用程序能够正常工作。如果应用程序不能正常工作,必须有一种简单的方法将应用程序恢复到上次已知的良好状态。

我知道这是一个普遍的问题,但我认为这也是一个普遍的问题。
不同平台上解决方案的比较将会越来越多。

亲爱的朋友,
其实我说的不是如何开发软件
它是关于如何在最终用户机器上以最小的副作用部署软件

  1. (应该是第0步,或-1)使用一个功能强大的源代码管理工具,并充分利用它的潜力:特别是分支)
  2. 测试驱动开发——总是对你可以测试的东西进行测试,并设计可测试的代码(当然,在可行的情况下)
  3. 永远不要同时做这两件事:
      重构
    • 介绍新功能
    • 修复bug
  4. 尽可能使用持续集成

在紧急情况下恢复到"最后一个稳定"版本

这必须得到一些基础设施决策的支持,比如保持最后一个稳定版本的编译,并准备好在出现问题时重新部署,尽管付出了努力(已经存在,已经完成了)

您应该进行单元测试。这是一个很好的解决方案,以避免和跟踪回归。

但是你不可能在一个大的应用程序中快速做出改变,然后构建一个测试单元来确保一切正常。你必须做一堆测试单元。

这是昂贵的,但没有便宜的方法来确保应用程序是无bug的。唯一的解决方案是投入大量的工作进行测试,无论是使用单元测试还是人工测试人员,或者两者兼而有之。《Joel Test》强调了这一点,因为一个严肃的团队必须在测试上投入足够的资金。

将应用程序恢复到旧状态只是有一个好的版本控制系统,而不是配置和数据部分的混乱。一些VCS有工具可以帮助您发现何时发生了错误,例如git-bisect.