【发布时间】:2013-10-14 11:57:21
【问题描述】:
我的 JS 代码越来越大,越来越老。这意味着,在处理其他项目时,我倾向于忘记调用函数的所有序列。我想知道是否有一个工具可以解析我的 .js 文件并生成一个(简单)文档,其中每个函数都列出了它调用的所有其他函数。这只是静态源代码分析;我不需要它在运行时做任何事情。
过度简化的例子:
function firstFunction(){
...
secondFunction();
thirdFunction();
}
function secondFunction(){
...
thirdFunction();
}
function thirdFunction(){
...
secondFunction();
firstFunction();
}
生成的(文本)文档将简单地列出函数调用(我不关心格式):
firstFunction: secondFunction, thirdFunction
secondFunction: thirdFunction
thirdFunction: secondFunction, firstFunction
编辑:请注意,我不想更改我的代码;我有几十个函数,其中一些调用了超过 10-15 个其他函数;在每个函数调用之前或之后打印消息需要很长时间,无论是编写还是运行每个场景。
EDIT no.2:我可以通过选择每个函数名称并在文件中搜索该名称的实例来使用任何基本的文本编辑器来做到这一点;这种方法需要的时间和脑细胞比我现在所能承受的要多得多;自动化工具会很完美。
【问题讨论】:
-
有一个叫做 console.log 的东西,你可以在其中将字符串记录在 javascript 中,将你的字符串记录到浏览器控制台。注意 IE7 及以下没有控制台对象,可能会抛出错误。你也需要注意这一点。
-
@AkshayKhandelwal console.log 要求我修改现有代码。我希望它“离线”工作,而 console.log 则要求我处理所有可能的情况。
-
@LightStyle 我不需要在运行时记录任何内容。我需要的是更像文档的东西。我不在乎代码是否正确,或者它是否在浏览器中中断。我需要一份可以反复阅读甚至打印的文件。
标签: javascript static-code-analysis