2

我今天遇到了一个错误,让我想知道检查源代码一致性的工具。首先,错误:

我的 jQuery 选择器是预期.attached_reports的,但 HTML 模板正在创建一个带有类的 div attached-reports。发生的事情是,我们热心的主题决定标准化所有类名以使用连字符而不是下划线,结果我们的代码中断了。

问题:是否有一种工具或方法可以解析源代码,并将每次出现的事件关联attached-reports在一起。那么,如果其中一个符号被更改(例如在版本控制提交时),它可以提醒团队更改吗?

4

1 回答 1

2

您想要的是跨语言一致性检查器,它可以静态检查运行时可能发生的错误。

为此,您需要一个可以处理所有相关语言的工具(您有两个:Javascript?[for Jquery] 具有对 HTML 模板的特殊引用,以及 HTML 模板语言(不完全是 HTML)。该工具有要知道 JavaScript 代码将使用名称引用模板(大概这只是一个字符串;你怎么知道模板名称不是由一些神秘的过程计算出来的?),并且 HTML 模板条目将被引用(如果有没有被引用的模板槽,可以吗?)

世界充满了有趣的小语言和它们之间和之间更有趣的约束(随着人们发明更多的 DSL 和集成规则,情况变得更糟)。您不太可能为每种组合找到现成的工具。

我们的DMS 软件再造工具包旨在轻松接受新的语言描述或方言变体(因此您可以定义 HTML 模板变体)和自定义分析器(以便您可以检测违规行为)。[DMS 已经拥有一套稳定的传统和非传统语言前端,包括一个用于JavaScript的前端。DMS 在多个维度上是可扩展的;一个是它可以同时处理的语言数量......比如你的情况是“两种”。

DMS 使您能够对自定义分析器或转换器进行编码。当然,实施的任何分析都受可计算性约束;如果您的模板名称是由晦涩的 JavaScript 代码计算的,那么该工具不太可能确定该计算名称是否与模板中的某些内容匹配。

于 2012-06-08T23:10:29.613 回答