它可能不好有一个微妙的原因:有时,确实应该将破坏某些东西的责任归咎于在没有自动化测试的情况下编写脆弱代码的人,而不是通过进行本应无关的更改而破坏代码的人别的地方。
一个可以想象的例子是,当某人以一种假设特定于当前实现的行为的方式对接口进行编程时,但现有合同不能保证。然后其他人对符合合同的实现进行了更改,但破坏了依赖的代码。没有测试失败,因为没有为依赖的代码编写测试。真正的罪魁祸首是谁?
这样做的目的不是责怪人,而是要明白责任,如果“你打破它,你买它”真的是一个很好的政策。
编辑:我的措辞真的很糟糕。我的意思是关于如何编写关于依赖关系的正确软件,包括隐藏的依赖关系。我的意思是这是一个程序员的责任是避免错误的问题,而不是在发现意外错误时应该做什么。但是,既然已经给出了这么多的答案,我会让问题保持原样并相应地指出一个答案。