Форум: "Прочее";
Текущий архив: 2009.05.17;
Скачать: [xml.tar.bz2];
ВнизПросмотр связей между модулями в проектах Delphi Найти похожие ветки
← →
Unknown user © (2009-03-17 15:21) [0]Подскажите есть ли готовые утилиты для просмотра связей между модулями в проектах Delphi? Работаю в Delphi5. Порой очень много времени тратится на поиск модулей которые ссылаются на интересующий (может не напрямую, а через другие модули).
← →
Ega23 © (2009-03-17 15:42) [1]Вот был у меня такой юнит. uKdrGPLib.pas Там была куча всяких констант-процедур-функций, которыми постоянно пользовались в проекте. поди узнай, в скольких Delphi-проектах он был заюзан? А вместе с тестами?
Это grep по всем дискам надо делать, по-идее.
← →
Игорь Шевченко © (2009-03-17 15:53) [2]в GExperts что-то было
(www.gexperts.org)
← →
jack128_ (2009-03-17 23:32) [3]
> в GExperts что-то было
> (www.gexperts.org)
угу, есть там такая фишка. Но он показывает только по тем модулям, корторые включены в проэкт. всякие библиотечные модули он не анализирует.
← →
Игорь Шевченко © (2009-03-17 23:38) [4]Совсем забыл - Icarus (uses list analyzer) бесплатная программа на сайте www.peganza.com
← →
Тимохов © (2009-03-18 00:37) [5]Я так понял у исходного поста есть 2 темы - вопрос и жалоба на тяжелую жизнь в поиске зависимых модулей.
Насчет первой части, я так понял, ответы даны.
Насчет второй, могу сказать пару слов.
Мое имхо, что рассуждать в дельфи удобно пакетами (не BPLэлями, я говорю о логической архитектуре, а не о физической), а набором плотно связанных целевым назначением модулей. Таким набором должна быть библиотека, выполняющая четкую задачу. У меня, например, такой библиотекой является набор из 5-7 модулей, которые отвечают за создание бинарника XLS-файла (сам писал года 4 назад).
Так же я стараюсь поступать с другими группами модулей. Каждая группа имеет префикс, который присутствует в имени каждого модуля.
Такой подход у меня родился после использования BPL (там, если помните, однонаправленный граф - циркулятивные зависимости пакетов исключены). В результате даже если я не использую BPL, то я всегда помню, какая группа модулей является утилитарной для какой.
Как результат - все поиски зависмостей ограничиваются парой тройкой uses внутри одного пакета. Между пакетами все можно описать (и запомнить) простой диаграммой - какой пакет от какого зависит.
Это я все к тому, что надобность подобных утилит лично для меня возможна в одном случае - разобраться в немалом унаследованном проекте. У себя (у меня до 1000 модулей в разных проектах, причем сильно разноплановых) я спасаюсь приведенным выше способом.
← →
Германн © (2009-03-18 00:53) [6]
> Тимохов © (18.03.09 00:37) [5]
> У себя (у меня до 1000 модулей в разных проектах, причем
> сильно разноплановых) я спасаюсь приведенным выше способом.
>
Да ты, Дима, специалист по вызыванию "ночных кошмаров"! Не дай бог мне нынешней ночью приснится, что у меня 1000 модулей, которые могут быть использованы в разных проектах, причём "не помню каких"!
:)
Но по сути проблемы я с тобой согласен.
← →
Игорь Шевченко © (2009-03-18 01:51) [7]Тимохов © (18.03.09 00:37) [5]
Легко тебе жить с 1000 модулей...
Оно конечно префиксы хорошо, только чтобы отделять свои модули от сторонних, нужно еще и префикс "своего вообще" заводить (ну чтобы глядя на список uses отличать свои от всяческих ActiveX, SysUtils и прочих). Следующая итерация - префиксы групп, подгрупп и т.д.
В итоге, глядя на список в uses иной раз удивляешься - а чего же оно,
seDmnKernQMgrMain делает-та ?
В этом плане сишникам много легче, напихано у них
#icnlude "daemons/kernel/queuemgr/main.h" - сразу все ясно и понятно :)
← →
test © (2009-03-18 07:58) [8]Игорь Шевченко © (18.03.09 01:51) [7]
В Java еще удобнее
import java.io.file;
← →
Ega23 © (2009-03-18 09:03) [9]
> seDmnKernQMgrMain
Damned Kernel Queue Manager? Причём second edition? :)
← →
test © (2009-03-18 11:05) [10]Удалено модератором
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2009.05.17;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.005 c