2008-09-27 36 views
7

Recientemente me han encargado documentar una gran aplicación de JavaScript que he estado manteniendo durante un tiempo. Así que tengo un buen conocimiento del sistema.¿Buscador de objetos JavaScript?

Pero debido al tamaño de la aplicación, probablemente llevará mucho tiempo incluso con conocimiento previo del código y el código fuente en forma no comprimida.

Estoy buscando herramientas que me ayuden a explorar clases y métodos y sus relaciones en JavaScript y si es posible, documentarlos en el camino, ¿hay uno disponible?

Algo como el buscador de objetos en VS sería agradable, pero cualquier herramienta que me ayude a hacer las cosas más rápido servirá.

Gracias!

+0

¡Publiqué una conexión hace mucho tiempo, y esta persona de MS la cerró "como arreglada"! eche un vistazo: https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=357013 – Shimmy

Respuesta

7

Firebug 's DOM tab le permite explorar el contenido de la window objeto global, y se puede inspeccionar un objeto en particular mediante la introducción de inspect(whatever) en la línea de comandos.

No podrá usarlo para detectar relaciones a menos que una instancia de un objeto contenga una instancia de un objeto relacionado, pero es un comienzo.

También puede usar el menú Opciones en la pestaña DOM para restringir lo que se muestra a las funciones y propiedades definidas por el usuario, lo que debería ayudar a reducir el desorden.

1

Firebug + uneval (obj) es un truco simple que suele ser útil.

+0

uneval es interesante ... pero ya tengo el código fuente en forma de menta que ve ... solo que no hay una sola línea de comentario :-( – chakrit

2

Eche un vistazo a Aptana, tienen un esquema que puede ayudarlo a determinar cuáles son los objetos y algunas veces su relación.

0

No sabemos si esto JS aplicación está diseñada para funcionar en un navegador Web ...
Si es así, tal como se aconseja, Firebug (una extensión de Firefox) es excelente para depurar JS y explorar Dom.
En el lado de IE, tiene algunas herramientas como IEDocMon, Web Accessibility Toolbar (hace más que su nombre) o Fiddler (no relacionado con su pregunta, pero sigue siendo una buena herramienta).

0

Firebug (Firefox)/libélula (Opera) le puede ayudar con la observación de objetos en tiempo real

Aptana/JS/UML (Eclipse) puede ayudar con las relaciones de objetos

1

Veo a mucha gente hablando de examinar el DOM dentro de Firebug. Sin embargo, de su pregunta parece que quiere algo como jsdoc? solo agregue información de tipo y clase a través de comentarios y jsdoc genera documentación que incluye relaciones de clase. http://jsdoc.sourceforge.net/

Google tiene un tenedor de ella con mayor funcionalidad http://code.google.com/p/jsdoc-toolkit/

ACTUALIZACIÓN: No es un tenedor, es una reescritura por el desarrollador que escribió jsdoc originalmente como un script Perl. Su objetivo es ser más adaptable para que pueda usar el estilo de herencia/eventos/propiedades js que desee. Otra característica es que te permite modificar las plantillas utilizadas para generar el HTML de una manera mucho más simple.

0

Esta es una vieja pregunta, pero déjame responderla de todos modos.

  1. utilizar un IDE. Los entornos de desarrollo integrado se crearon para saltar rápidamente entre el código. Las características clave que ejercerá durante la exploración son ver la estructura o el esquema del archivo, saltar a una declaración o uso, y buscar en todo el proyecto todas las instancias de una cadena. Si está utilizando WebStorm, configure un alcance personalizado para los archivos, excepto los generados y node.js, para ayudar en la búsqueda.

  2. Ejecutar 'npm la | menos 'que enumera todos sus módulos dependientes con descripciones de una línea. Es posible que nunca haya visto moment.js y nunca necesite leer la documentación, pero vale la pena tomarse un tiempo para leer un resumen de una línea. Si necesita más información sobre una herramienta que un resumen de línea, busque el término en SlideShare. Las diapositivas son más rápidas que ReadTheDocs.

  3. Documente un poco sobre la marcha. Soy fanático de forzar a las personas a usar cuadernos constantemente en lugar de raspar papel. Además, me parece útil agregar un comentario de una línea a cada archivo de JavaScript. Desea saber qué debe estar en cada directorio de su proyecto. También recomiendo crear un glosario del significado exacto de los términos de dominio en su sistema, por ejemplo, qué significa "trabajo" en su sistema.

  4. Finalmente, puede que necesite simplemente iniciar la aplicación en un depurador y comenzar a recorrer partes de ella. La mayoría de los grandes proyectos han ganado valor de programadores de diversos niveles de habilidades y motivaciones.

Usted está apuntando para un nivel de "integridad conceptual" (para citar Yourdon) o para "asimilar" el software (por citar Heinlien). Toma algo de tiempo, no puede pasarse por alto y se puede hacer de manera eficiente.