Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 缺陷修复的最佳实践?_Java_Defects - Fatal编程技术网

Java 缺陷修复的最佳实践?

Java 缺陷修复的最佳实践?,java,defects,Java,Defects,当修复新代码中的缺陷时,最好的策略是什么?因为我发现缺陷修复提高了我的编码标准以及我对该语言和技术的理解。我想优化这件事 这个问题太笼统了,我唯一能说的是,在修复某个问题之前,你应该确保你有测试。TDD说,首先你应该实现重现问题的测试。然后修复错误并再次运行测试。如果所有的测试都通过,你就完成了。否则,请继续修复。我认为,当您开始工作时,重要的是要学会尽可能保持代码的小部分独立。然后,您可以轻松地测试每个函数和每个对象的行为是否像应该的那样,并在运行时查找缺陷。注释出问题部分,以隔离问题所在的位

当修复新代码中的缺陷时,最好的策略是什么?因为我发现缺陷修复提高了我的编码标准以及我对该语言和技术的理解。我想优化这件事

这个问题太笼统了,我唯一能说的是,在修复某个问题之前,你应该确保你有测试。

TDD说,首先你应该实现重现问题的测试。然后修复错误并再次运行测试。如果所有的测试都通过,你就完成了。否则,请继续修复。

我认为,当您开始工作时,重要的是要学会尽可能保持代码的小部分独立。然后,您可以轻松地测试每个函数和每个对象的行为是否像应该的那样,并在运行时查找缺陷。注释出问题部分,以隔离问题所在的位置;学习是很重要的。然后开始学习单元测试。这是一种对问题代码进行注释的奇特方式。

在进行了具有良好代码收敛性的单元测试之后,我建议您考虑运行静态代码分析,并在分析器中运行适当的代码部分,以查看它在您期望的领域是否繁忙(并创建您期望的对象类型)

积极主动地进行设置,以便更容易地检测和修复缺陷。和生活中的大多数事情一样,如果你在遇到问题之前就运用纪律,你会发现处理这些问题要容易得多

  • 首先编写单元测试:有些人觉得这让人困惑,但它确实有效。这对于在实现代码之前识别关键情况和不明显的问题非常有用。显然,你必须为你的代码准备一个框架,但我发现在开始之前,我至少已经有了这个框架
  • 编写代码:使用单元测试逐步验证代码 有了这一点,您可以使用适当的数据运行单元测试来重现错误,然后使用单元测试来确定何时修复错误


    更新单元测试以覆盖此缺陷。

    我使用以下步骤修复错误:

    第1步。识别错误。

    向该漏洞的记者索要截图。 尝试在给定场景中重现错误

    第2步。分析错误

    捕获日志并仔细分析

    第3步。与团队讨论您的发现

    寻找预期的行为,与测试人员讨论,并验证您的潜在解决方案

    第4步。覆盖横向损坏。

    尝试查看您的潜在修复是否会导致系统中出现其他错误

    第5步。修复错误。

    修正错误

    第7步。验证解决方案。


    运行所有测试脚本并检查它们是否全部通过。如果测试失败,请更正它们。

    这当然取决于场景、代码和使用的技术。我认为这对您来说是更好的选择,因为您忘记了一个步骤:更正您的测试用例,或者添加新的测试用例。您现有的测试已经无法识别现有的bug,因此只运行它们并检查它们是否仍然有效是没有意义的。他们肯定会这样做,但这并不意味着修复也是正确的。因此,您必须添加适当的测试来覆盖该情况。