Браузер объектов JavaScript?

Недавно мне было поручено задокументировать большое приложение JavaScript, которое я поддерживаю в течение некоторого времени. Так что я хорошо знаю систему.

Но из-за огромного размера приложения это, вероятно, займет много времени даже при наличии предварительных знаний о коде и самом исходном коде в несжатом виде.

Итак, я ищу инструменты, которые помогли бы мне изучить классы и методы и их отношения в JavaScript и, если возможно, задокументировать их по ходу дела, есть ли один из них?

Что-то вроде обозревателя объектов в VS было бы неплохо, но подойдут любые инструменты, которые помогают мне делать вещи быстрее.

Спасибо!

Я давно разместил соединение, и эти MS ppl закрыли его "как исправлено"! посмотрите: connect.microsoft.com/VisualStudio/feedback/…

Shimmy Weitzhandler 15.07.2010 10:03
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
7
1
4 075
7
Перейти к ответу Данный вопрос помечен как решенный

Ответы 7

Firebug + uneval (obj) - простой прием, который часто бывает полезным.

uneval интересно ... но у меня уже есть исходный код в мятном виде, как вы видите ... только там нет ни одной строчки комментария :-(

chakrit 27.09.2008 11:44

Взгляните на Аптана, у них есть схема, которая может помочь вам определить, какие объекты и иногда их отношения.

Ответ принят как подходящий

Вкладка DOMFirebug позволяет вам просматривать содержимое глобального объекта window, и вы можете проверить конкретный объект, введя inspect(whatever) в командной строке.

Вы не сможете использовать его для обнаружения отношений, если только экземпляр одного объекта не содержит экземпляр связанного объекта, но это только начало.

Вы также можете использовать меню «Параметры» на вкладке DOM, чтобы ограничить отображаемые функции и свойства, определяемые пользователем, что должно помочь уменьшить беспорядок.

Мы не знаем, предназначено ли это JS-приложение для работы в веб-браузере ...
Если да, то в соответствии с рекомендациями Firebug (расширение Firefox) отлично подходит для отладки JS и изучения Dom.
. На стороне IE у вас есть некоторые инструменты, такие как IEDocMon, Панель инструментов веб-доступности (он делает больше, чем его имя) или Скрипач (не имеет отношения к вашему вопросу, но все же хороший инструмент).

Firebug (Firefox) / Стрекоза (Opera) может помочь вам с просмотром объектов в реальном времени.

Аптана / JS / UML (Eclipse) может помочь с отношениями объектов

Я вижу, что многие люди говорят об изучении DOM в Firebug. Однако из вашего вопроса похоже, что вам нужно что-то вроде jsdoc? просто добавьте информацию о типе и классе с помощью комментариев, и jsdoc сгенерирует документацию, включая отношения классов. http://jsdoc.sourceforge.net/

У Google есть его форк с добавленной функциональностью http://code.google.com/p/jsdoc-toolkit/

Обновлено: Это не форк, это переписанный разработчиком, изначально написавшим jsdoc как Perl-скрипт. Он нацелен на то, чтобы быть более адаптируемым, чтобы вы могли использовать любой стиль наследования / событий / свойств js, который вам нравится. Еще одна особенность заключается в том, что он позволяет гораздо проще изменять шаблоны, используемые для создания HTML.

Это старый вопрос, но позвольте мне все равно на него ответить.

  1. Используйте IDE. Интегрированные среды разработки были созданы для быстрого перехода между кодом. Ключевые функции, которые вы будете использовать во время исследования, - это просмотр структуры или схемы файла, переход к объявлению или использованию и поиск по всему проекту всех экземпляров строки. Если вы используете WebStorm, настройте настраиваемую область для файлов, кроме сгенерированных файлов и node.js, чтобы облегчить поиск.

  2. Run 'npm la | less ', в котором перечислены все ваши зависимые модули с однострочными описаниями. Возможно, вы никогда не видели moment.js и вам никогда не нужно читать документацию, но потратить время на прочтение его однострочного резюме стоит. Если вам нужно больше информации об инструменте, чем однострочная сводка, найдите термин на SlideShare. Слайды быстрее, чем ReadTheDocs.

  3. Немного документируйте по ходу дела. Я сторонник принуждения людей постоянно использовать записные книжки, а не чертёжную бумагу. Кроме того, я считаю целесообразным добавлять однострочный комментарий к каждому файлу JavaScript. Вы хотите знать, что должно быть в каждом каталоге вашего проекта. Я также рекомендую составить глоссарий точного значения терминов домена в вашей системе, например, что «работает» в вашей системе.

  4. Наконец, вам может потребоваться просто запустить приложение в отладчике и начать пошаговое выполнение его частей. Большинство крупных проектов привлекли внимание программистов разного уровня подготовки и мотивации.

Вы стремитесь к определенному уровню «концептуальной целостности» (цитируя Йордона) или «гробу» программное обеспечение (цитируя Хейнлиена). Это занимает некоторое время, не может быть проигнорировано и может быть выполнено эффективно.

Другие вопросы по теме