2008-09-27 91 views
7

我最近的任务是记录一段时间内我一直在维护的大型JavaScript应用程序。所以我对这个系统有很好的了解。JavaScript对象浏览器?

但由于应用程序的规模庞大,即使事先了解代码和源代码本身的未压缩形式,也可能需要很长时间。

所以我正在寻找能够帮助我探索JavaScript中的类和方法以及它们之间的关系的工具,并且如果可能的话,一路上记录它们,有没有可用的工具?

类似于VS中的对象浏览器会很好,但任何帮助我更快完成工作的工具都可以。

谢谢!

+0

我很久以前发布了一个连接,这些MS ppl关闭它“固定”!看看:https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=357013 – Shimmy 2010-07-15 06:03:13

回答

7

FirebugDOM tab允许您浏览全局window对象的内容,并且可以通过在命令行中输入inspect(whatever)来检查特定对象。

除非一个对象的实例持有相关对象的实例,否则您将无法使用它来检测关系,但这只是一个开始。

您还可以使用DOM选项卡上的选项菜单来限制显示给用户定义的函数和属性,这有助于减少混乱。

1

Firebug + uneval(obj)是一个简单的技巧,通常很有帮助。

+0

uneval是有趣的...但我已经有你看到的薄荷形式的源代码...只有没有一行评论:-( – chakrit 2008-09-27 07:44:00

2

看看Aptana,他们有一个大纲可以帮助你确定什么是对象,并决定他们的关系。

0

我们不知道这个JS应用程序被设计在Web浏览器中运行...
如果是的话,作为建议,萤火虫(Firefox扩展)是优秀的调试JS和探索大教堂。
在IE端,你有一些工具,如IEDocMon,Web Accessibility Toolbar(它的名字比它的名字多)或Fiddler(与你的问题无关,但仍然是一个好工具)。

0

萤火虫(火狐)/ 蜻蜓(歌剧)可以帮助你实时观看对象

集锦/JS/UML(Eclipse中)与对象的关系有助于

1

我看到很多人在讨论Firebug中的DOM问题。但是,从你的问题看来,你想要像jsdoc的东西?只需通过注释添加类型和类信息,并且jsdoc生成包含类关系的文档。 http://jsdoc.sourceforge.net/

谷歌有它的附加功能http://code.google.com/p/jsdoc-toolkit/

更新叉:这不是一个叉,这是通过写jsdoc最初是作为一个Perl脚本开发者重写。它的目标是更具适应性,所以你可以使用任何你想要的继承/事件/属性风格。另一个特性是它允许您以更简单的方式修改用于生成HTML的模板。

0

这是一个老问题,但让我回答它。

  1. 使用的IDE。集成开发环境用于在代码中快速跳转。在探索过程中您将练习的主要功能是查看文件结构或大纲,跳转到声明或用法,以及在整个项目中搜索字符串的所有实例。如果您正在使用WebStorm,请为生成的文件和node.js以外的文件设置自定义作用域以帮助搜索。

  2. 运行'npm la |少',它用一行描述列出你所有的依赖模块。你可能从来没有见过moment.js,也不需要阅读文档,但花时间读一行文摘是值得的。如果您需要关于工具的更多信息而不是单行摘要,请在SlideShare上搜索该术语。幻灯片比ReadTheDocs更快。

  3. 请稍等。我是强迫人们不断使用笔记本而不是草稿纸的粉丝。另外,我发现为每个JavaScript文件添加一行评论是值得的。你想知道你的项目的每个目录应该是什么。我还建议在你的系统中建立一个关于领域术语确切含义的术语表,例如你的系统中的“工作”是什么。

  4. 最后,您可能需要在调试器中启动应用程序并开始逐步完成部分应用程序。大多数大型项目已经从各种技能水平和动机的程序员中获得了收益。

您正在瞄准“概念完整性”(引用Yourdon)或“呻吟”软件(引用Heinlien)。它需要一些时间,不能被绕过,并且可以高效地完成。