Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.05.17;
Скачать: CL | DM;

Вниз

Просмотр связей между модулями в проектах 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.014 c
11-1200515589
Vinum
2008-01-16 23:33
2009.05.17
как скопировать текст в буфер


2-1238769749
Кошкин
2009-04-03 18:42
2009.05.17
Как сделать проекцию на экран.


15-1237121039
anton773
2009-03-15 15:43
2009.05.17
webbrowser и dll


15-1236796634
Petr V. Abramov
2009-03-11 21:37
2009.05.17
нифигасебе...


2-1238654466
desc
2009-04-02 10:41
2009.05.17
Вопрос о ShowModal