3

我继承了一些略微损坏的 JavaScript,并且在每天使用几个小时一段时间后,我没有任何有用的线索来判断哪里出了问题。

我发现了JSHintJSLint,虽然它们看起来很有希望,但它们对大括号样式、缩进和函数标题后缺少空格等细节的关注会产生如此多的警告,以至于它们会在出现任何错误之前停止警告(太多警告)。对琐碎问题的关注类似于在泰坦尼克号下沉时重新布置躺椅。

我经历了许多尝试来关闭最麻烦的选项,以找出一个真正的错误。例如,在 JSHint 中,我尝试了这些选项行(不换行):

/*jshint asi:true, white:false, forin:true, noarg:true, noempty:true,
  eqeqeq:true, bitwise:true, undef:true, unused:true, browser:true,
  maxerr:1000, smarttabs:true  */

/*jshint asi:true, white:false, browser:true, maxerr:1000, smarttabs:true */

但它仍然会喷出很多无用的垃圾,比如

Line 2: required: 'The %s field is required.',
Mixed spaces and tabs.
...
Line 23: var rules = field.rules.split('|');
Empty block.

Line 25: (!field.value || field.value === '' || field.value === undefined))
Mixed spaces and tabs.

Line 26: document.getElementById("PASSWORD").style.display="";
Missing "use strict" statement.
...
Line 37:
Too many errors. (3% scanned).

有没有办法动摇这个工具的一些意义?

4

1 回答 1

1

不幸的是,我没有找到一个简单的解决方案。当我确定没问题时,我最终逐段删除了可疑的 Javascript 代码的一部分,然后重新运行 JSHint 以查看它会报告哪些新问题。在某些情况下,使用“首选”空格来格式化代码以消除几十个警告是方便的。

于 2012-09-04T18:58:33.897 回答