通常,当我尝试根据其源代码了解有关程序的更多信息时,我会尝试在其上运行doxygen
并提取文档和它的全局体系结构(类层次结构、模块、包、调用堆栈……)。它确实有很大帮助。另一种方法是在源代码上运行静态分析器,例如cppcheck
(C/C++)、clang 静态分析器 (c/c++) 或pmd
(Java)、pylint
(Python),并查看输出。
我最近不得不看一个 Javascript 程序,我有点失望,因为我没有找到任何工具可以对其进行良好的静态分析,也没有找到提取软件架构的工具(我发现了几个试图将 Javascript 转换为Doxygen 接受的一种语言,但没有一种能够正常工作并提取有价值的东西)。所以,我想知道我在寻找这些工具时是否遗漏了什么。有人可以给我指出有关 Javascript 自动分析的有趣工具吗?或者,至少,向我解释为什么这很困难(或不可能)。
注意:我说的不是Google Dart,而是通常的 Javascript (ECMAScript)。