2008-09-27 98 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)。它需要一些時間,不能被繞過,並且可以高效地完成。