步骤1是您必须以这种思维方式(更新破坏了其他内容)是不正常的。您的更新不应破坏或减慢应用程序的其他部分。这不行,这不是意料之中的,这不是用户抱怨时的过错。您应该进行尽可能多的测试以尝试阻止它。发生这种情况时,您会遇到一个问题,并且是紧急问题。
第2步是您必须知道自己做了什么。您的源代码管理系统可能会为您提供帮助,或某种工作跟踪系统,但是您必须能够说出收到这些投诉之一的那一刻,“好吧,我在此表中添加了一个列,更改了此网格以进行计算新税收,添加了这两个新报告...”,依此类推。
第3步是您必须具有迅速发现性能问题并崩溃的经验,因此您知道可能导致此类问题的种类,并且可以立即解决问题。这个东西已经上线了,您必须迅速找到问题并发布补丁。更改报告不会减慢不使用报告的应用程序的一部分。您现在处于紧急模式,必须弄清楚错误出在哪里以及如何解决-在此过程中不要破坏应用程序的另一部分。
第4步适用于这些痛苦中的每一个,您应该学习下一课,然后再进行测试。您将成为反对特定构造的“那个家伙”,因为“当有10,000条记录时,这将是可怕的”。
在“这很正常”方面要多一点。我为外部客户运行(以及正在进行的所有其他事情)一个敏捷项目。现在,我们大约每6周发布一次版本,已经有两三年了。是的,发布计划在分钟内完成。我们昨天早上8点才做一个。大约每4或5个发行版(换句话说,一年一次或两次)就会被破坏,我们会立即采取行动并尽快将其改正。即使我们在发布前进行测试和测试。然后我们告诉他们发生了什么。“ 6月部署中有一个小错误,使该字段为空白,但我们从未注意到,因为那时我们没有使用该值。然后在此部署中,当我们开始使用该字段时,空白字段导致了您看到的错误消息。修复了错误,使它们不能为空,将值放在错误的记录中,并确认不会再爆炸了。我们的道歉。”或“在发布前两天,您请求进行的紧急更改会产生我们未曾想到且未进行测试的后果。还记得我们为什么拒绝紧急更改吗?”我可能不是一个糟糕的程序员,因为随着更新的进行它会使情况变得更糟,但是我确实做得不好。我需要把它纠正。我可能不是一个使更新变得更糟的程序员,但是我确实做得不好。我需要纠正它。我可能不是一个使更新变得更糟的程序员,但是我确实做得不好。我需要纠正它。