Однажды я столкнулся с задачей, где надо было разобраться в обработке, которая содержала более 15000 строк в модуле и основной форме. Удержать в голове такую структуру было невозможно, и я обратился к Инфостарту, где нашел замечательную обработку: //infostart.ru/public/78976/. Она мне очень помогла, но у нее был один недостаток. Графы, которые строятся с помощью dot.exe это просто картинки, если объектов много, они становятся труднообозримыми.
Поэтому, я сделал альтернативный вывод результата в формат GML, который можно загрузить в редактор графов YeD. YeD позволяет редактировать, масштабировать и автоматически перестраиваеть граф по различным алгоритмам, что очень удобно для анализа.
В отличие от исходной обработки работает только в обычном приложении — поленился написать для управляемого.
Суперполезно для документирования и для изучения незнакомых разработок. Есть требования к номеру версии редактора Yed?
Круть! Спасибо.
Здорово! Спасибо.
Предыдущей упомянутой обработкой пользовался около года — незаменимая вещь. Оказывается можно и заменить. 🙂
Открыл обработку. Выбрал действие «Настройка построения графов». В ответ получил сообщение: «Не удалось найти установленную версию graphviz!». Нажал «ОК», открылась обработка «Настройка построения графов». Указал рабочий каталог, во 2-м поле требуется выбрать файл dot.exe. Но его нет в каталоге программы. Я правильно понимаю, что надо переименовать командный файл yEd?
Там кнопка есть для Yed специально, на скриншоте отмечена. Yed, естественно, надо поставить.
«YeD позволяет редактировать, масштабировать и автоматически перестраиваеть граф по различным алгоритмам, что очень удобно для анализа» — то что доктор прописал
Там есть еще пару удобных инструментов, типа показа в отдельном окне всех потомков/предков. Программа хорошая.
В свое время тоже разработал решение для анализа структуры вызвовов программного модуля, без использования дополнительного ПО:http://infostart.ru/public/126275/
Идет построение графа ….
Error: D:TempGraphDatagraph.txt:1676: syntax error near line 1676
context: N001 >>> — <<< > N173 [color=»black»,label=»»]
dot: graph is too large for cairo-renderer bitmaps. Scaling by 0.545944 to fit
Произошла ошибка!
Для продолжения нажмите любую клавишу . . .
что это за ограничение?
модуль в студию не влезет 🙂
То же самое! Куда копать?
Error: D:TempGraphDatagraph.txt:1676: syntax error near line 1676
context: N001 >>> — <<< > N173 [color=»black»,label=»»]
dot: graph is too large for cairo-renderer bitmaps. Scaling by 0.545944 to fit
Произошла ошибка!
(9) UncleVader, (10) edzz,
Похоже на пробел в конструкции «->»
Автору огромное спасибо за наводку. YeD — инструментище!!!
(0) Если «натравить» эту обработку на обработку, имеющую одну форму, она покажет вызовы процедур из модуля объекта и модуля формы вместе, или только по-отдельности?
(13) Когда мне надо было анализировать вызовы между модулем и формой я делал так:
////////////////////
1) брал текст модуля;
2) Добавлял разделитель разделов
////////////////////////////////////////////////////////////
// ФОРМА
3) Вставлял ниже модуль формы
4) Выбирал тип отчета «По секциям»
Процедуры и функции формы будут находиться в отдельной группе
Т.е. надо немного пошаманить, но это занимает буквально минуту.
Работает!
в связки с YeD нереально помогает !!!
К сожалению не отличает вызовы к методам от вызовов функций внутри модуля. Например, есть у меня «очистить» и часто чищу коллекции в коде. Все валит в одну кучу. Думаю логично было бы не считать вызовом функции из таблицы то, что стоит после точки.
Вот аналог, который в управляемых формах работает:https://github.com/SergeFocus/1C-Functin-to-yEd