好的,所以很多代码检查都是相当常规的。但是,有时会发生更改,这些更改会广泛影响现有的复杂,易碎的代码。在这种情况下,验证更改的安全性,缺少回归等所需的时间过长。也许甚至超过了完成开发本身所花费的时间。
在这种情况下该怎么办?合并,希望一切顺利?(不主张这样做!)最好的方法可以并且仅尝试发现任何明显的缺陷(也许这是代码审查应针对的最大问题吗?)完全合并和测试,这是比代码审查更好的替代方法吗?
这不是一个特别的问题,是否应该在代码审查中进行测试。这是一个问题,询问在上述情况下最好的选择是什么,尤其是在紧迫的截止日期,没有可用的全面单元测试套件或单元测试对零碎的代码不可行的情况下。
编辑:我给人的印象是,到目前为止,我的短语“广泛影响”已经得到了一些答案/评论,并可能认为这意味着更改涉及大量的代码行。我能理解这是一种解释,但这并不是我的意图。所谓“广泛影响”,是指例如由于代码库的互连性或连锁效应的范围而导致回归的可能性很高,而未必一定会使更改本身很大。例如,开发人员可能会找到一种方法,方法是调用一个现有的高级例程,该例程将调用级联到许多较低级别的例程,从而用一行代码修复错误。测试和验证该错误修复程序很容易。手动验证(通过代码审查)所有连锁效应的影响要困难得多。
what if there is no pre-existing test suite?
-写一个怎么样?
Merge and hope nothing slips through?
这是一个臭名昭著的坏主意。