gpt4 book ai didi

language-agnostic - 您是否曾经更改过代码而只是进行测试,而不是试图完全理解您所做的更改?

转载 作者:行者123 更新时间:2023-11-28 19:51:17 26 4
gpt4 key购买 nike

我在一个已有 12 年历史的代码库中工作,我是该代码库中唯一的开发人员。
有时我会根据直觉(或逻辑上的飞跃;-)做出很小的改变。

通常我会尝试解构该更改并确保我彻底阅读了代码。

然而有时,(这些天越来越多)我只是测试并确保它具有我想要的效果。 (我是一个非常彻底的测试人员,即使我阅读了代码也会进行测试)。

这对我有用,而且我们出人意料地(与我看到的大多数软件相比)很少有错误逃逸。

但我想知道这是否只是编码的“艺术”方面。 是的,在理想的世界中,您会详尽地阅读您的更改修改的每一段代码,但在实践中,如果您确信它只影响一小部分代码,这是一种常见做法吗?

我很明显可以看出,在一个可怜的程序员手中,这将是一种灾难性的方法。但是,我见过表面上正在阅读代码并左右破坏内容的程序员(基于他们自己的代码,只有他们一直在努力)。

最佳答案

一旦您将遗留代码包装到双重安全测试范围内(良好的单元测试和良好的系统/集成/回归测试,两层中的每一层都具有出色的覆盖率),依靠测试来捕捉误解是一种有效的短期方法战术方法。这是使向遗留代码库添加测试成为高 ROI 策略的部分原因:它使您能够进行紧急错误修复或更快地添加紧急功能,让您对所做更改的健全性有合理的信心,而无需透彻了解现有代码的复杂性。

然而,正如其他答案所暗示的那样,这些变化正在积累技术债务;至于任何其他债务,你越早还清,从长远来看你会越好。在这种情况下,“返回”不仅仅是关于内部的文档,而且通常可以在重构代码库以提高清晰度和延展性——真正好的测试也会帮助你自信地进行这样的重构,就像它们一样为遗留代码的错误修复和功能增强做。

关于language-agnostic - 您是否曾经更改过代码而只是进行测试,而不是试图完全理解您所做的更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/814133/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com