Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.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
JS Lint,Javascript的语义必须是什么?_Javascript_Semantics_Jslint - Fatal编程技术网

JS Lint,Javascript的语义必须是什么?

JS Lint,Javascript的语义必须是什么?,javascript,semantics,jslint,Javascript,Semantics,Jslint,因此,JSLint是一个促进语义和语法的漂亮工具。我从客户端站点获得的大多数JS进入JS Lint通常都会失败,尽管它们勉强通过,而且大多数站点功能仍然有效。我试图说服他们修复Javascript,但他们认为它好像没有坏(这意味着它正在做他们希望它做的事情)为什么要修复它?语义和语法对他们来说太抽象了 在您看来,使用JS的站点必须遵守JS Lint代码标准有多重要?符合JS Lint语义和语法的最佳论据是什么?我将给出一些常见javascript陷阱的示例。在维护期间可能导致更多时间调试的。 全

因此,JSLint是一个促进语义和语法的漂亮工具。我从客户端站点获得的大多数JS进入JS Lint通常都会失败,尽管它们勉强通过,而且大多数站点功能仍然有效。我试图说服他们修复Javascript,但他们认为它好像没有坏(这意味着它正在做他们希望它做的事情)为什么要修复它?语义和语法对他们来说太抽象了


在您看来,使用JS的站点必须遵守JS Lint代码标准有多重要?符合JS Lint语义和语法的最佳论据是什么?

我将给出一些常见javascript陷阱的示例。在维护期间可能导致更多时间调试的。 全局变量:

function doStuff(param1, param2) {
    foo = var1 + var2;
    return foo;
}
括号和缩进:

// our friend 'foo' from above. this might pass because it was global.
// what if the original writer expected foo to be undefined?
if (foo)
    foo += "some string"; // this is inside the condition
    foo += "some other string"; // this is outside. but it's not immediately obvious!

还有更糟糕的例子。找到一些令人讨厌和困惑的代码,然后根据jslint进行修复,并比较这两个代码片段。你会发现干净代码的维护成本远低于脏代码的维护成本

我将给出一些常见javascript陷阱的示例。在维护期间可能导致更多时间调试的。 全局变量:

function doStuff(param1, param2) {
    foo = var1 + var2;
    return foo;
}
括号和缩进:

// our friend 'foo' from above. this might pass because it was global.
// what if the original writer expected foo to be undefined?
if (foo)
    foo += "some string"; // this is inside the condition
    foo += "some other string"; // this is outside. but it's not immediately obvious!

还有更糟糕的例子。找到一些令人讨厌和困惑的代码,然后根据jslint进行修复,并比较这两个代码片段。你会发现干净代码的维护成本远低于脏代码的维护成本

这是一个主观的问题。没错,但我只是想建立共识。我在谷歌上搜索了“语义过滤机”,看看是否有——然后来到这里。linter在语法上更挑剔。当一个工具寻找语义时,它叫什么?例如,一个变量没有声明两次,或者没有未执行的代码。或者给出下一步重构步骤的提示。干净的代码提供了开发代码的洞察力和可能性。但只要说“它无论如何都能工作”就是说“我们对这个狗屎代码不感兴趣”。这是一个主观问题。没错,但我只是想建立共识。我在谷歌上搜索“语义过梁”,看看是否有——然后就到了这里。linter在语法上更挑剔。当一个工具寻找语义时,它叫什么?例如,一个变量没有声明两次,或者没有未执行的代码。或者给出下一步重构步骤的提示。干净的代码提供了开发代码的洞察力和可能性。但只要说“它无论如何都能工作”就是说“我们对这个狗屎代码不感兴趣”。很好!我没有想到要比较和对比他们的版本和JS Lint版本。谢谢。我不明白如何需要
doStuff
,但似乎程序员使用的是封装的Python意图。最后一行很可能是误会了。一个门楣匠可以抱怨这个意图,让程序员意识到。非常好!我没有想到要比较和对比他们的版本和JS Lint版本。谢谢。我不明白如何需要
doStuff
,但似乎程序员使用的是封装的Python意图。最后一行很可能是误会了。为了让程序员意识到这一点,linter可能会抱怨这一意图。