一个好的IDE(例如Visual Studio)能找到基本的逻辑错误吗?
或者是否存在“基本”逻辑错误并且IDE无法检测到所有这些错误?
答案 0 :(得分:1)
是的,某些IDE(如Visual Studio)具有连续的语法检查,可以发现一些逻辑错误。但是,如果代码中存在奇怪的内容,则只能发现逻辑错误,没有AI试图弄清楚代码实际上要做什么。
例如,如果您在Visual Studio中使用C#方法编写它:
int a = 1;
int b = 2;
Console.WriteLine(a + a);
然后IDE会注意到你从未使用变量b
,并在变量下面以波浪线的形式发出警告。指向它将显示消息The variable 'b' is assigned, but its value is never used
。
IDE无法知道您是打算输出a + b
而不是a + a
,而只是使用a + a
并不足以发出警告,但它可以看到您创建了一个变量b
,并且您可能打算将其用于某些内容。
答案 1 :(得分:1)
不是。
有时它会发现我认为代码路径可能永远不会执行。
int x = 9;
if (x != 9)
{
foo();
}
它可能会告诉你,你已经宣布了一些不使用它的东西。这是你可以抓住自己的东西。但是,真正的功能是在调试器中,您可以使用“监视”或本地/自动,并在任何范围内按照步进/退出/关注代码,查看它们何时更改,并自行更改值以查看需要什么即将发生。这是测试逻辑的好方法。在汇编中,您可以将代码移回几行并重复它...它不能保证工作,但您可以覆盖任何内容。