2

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

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

亲爱的朋友们,
其实我不是在谈论如何开发软件,而是在
谈论如何在最终用户机器上以最小的副作用部署软件

4

2 回答 2

2
  1. (应该是步骤 0 或 -1)使用功能强大的源代码管理工具,并充分发挥其潜力:尤其是分支
  2. 测试驱动开发- 始终对您可以测试的内容进行测试,并设计可测试的代码(当然,这是可行的。)
  3. 永远不要同时做这两个:
    • 重构
    • 引入新功能
    • 修复错误
  4. 尽可能使用持续集成

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

这必须得到一些基础设施决策的支持,例如保留最后编译的稳定版本,并准备好在尽管付出努力但出现问题时重新部署(去过那里,做过)

于 2013-03-06T08:56:36.033 回答
0

你应该做单元测试。这是避免和跟踪回归的好方法。

但是你不能只是快速地在一个大型应用程序中做出改变并构建一个测试单元来确保一切正常。你必须制作一堆测试单元。

这是昂贵的,但没有便宜的方法来确保应用程序没有错误。唯一的解决方案是将大量工作用于测试,无论是使用单元测试还是人工测试,或者两者兼而有之。Joel Test强调了这一点,因为一个认真的团队必须在测试上花费足够的钱。

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

于 2013-03-06T08:52:37.560 回答