Javascript代码分析和常量

标签 javascript visual-studio-2010 resharper code-analysis

鉴于 Javascript 中没有跨浏览器常量,并且大多数解决方法比我关心的更复杂,我将采用 THIS_IS_A_CONSTANT 的命名约定。一切都很好,但我想到的是,如果有办法让我的 IDE(带有 Resharper 6 的 VS.NET 2010)对任何使用该命名约定对变量进行赋值的 Javascript 代码发出警告,除了在变量声明中,这将处理 Javascript 中缺乏实际常量的大多数潜在问题(至少满足我的需要)。

那么有人知道生成此类警告的好方法吗? In-IDE 是最好的选择,但其他解决方案也可以。我一直在寻找类似 FX-Cop for Javascript 的东西; jslint 似乎不允许创建新规则,但也许我看得不够深入。我也可能建议将此作为 Resharper 中的一项功能(假设我没有错过让它这样做的方法)。

谢谢, 马修

最佳答案

所以你想找到以下形式的任何分配:

id = exp ;

其中 id 不包含子字符串 CONSTANT 并且 exp 是数字常量?

我们的Source Code Search Engine (SCSE)可以直接做到这一点。 SCSE 读取多种语言(包括 JavaScript)的大量文件的源代码,将其分解为标记忽略空格,并将其全部索引以实现快速搜索标记序列。任何点击都会显示在点击窗口中,并且可以单击以查看上下文中的实际文件文本。

您的具体查询将被说明:

  (I - I=*CONSTANT*) '=' N ( ';' | O | K | I)

这会寻找目标标识符不包含字符串常量的任何分配(请参阅匹配字符串周围的通配符星号),分配一个常量 *N*数字后面不跟有 ' ;'或 *O* 运算符、*K* 单词或 *I* 标识符(所有这些额外的内容是因为 JavaScript 可能没有分号终止该语句)。它可能会处理一些不应该处理的情况,但是 这些很容易检查。

关于Javascript代码分析和常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6750439/

相关文章:

c# - 无法获得在 VS2010 中使用 IISOle 对象的引用

c# - Resharper 建议添加参数

javascript - 如何在 AngularJS 中进行 HTTP 链接

javascript - 允许 javascript 函数接受任意数量的参数

javascript - 如何在javascript中找出char的keycode值

c# - 上下文操作的 ReSharper SDK 测试不起作用

Resharper:如何写入控制台输出

javascript - 使用 Backbone.js 和 Marionette.js 进行分页

visual-studio-2010 - 如何在Visual Studio 2010中打开.rptproj?

.net - 我可以在面向 .NET 3.5 SP1 的同时使用 .NET 4 功能吗?