Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.004 c
2-1238483163
AlexDan
2009-03-31 11:06
2009.05.17
Клик для кнопки


3-1221023511
greg123
2008-09-10 09:11
2009.05.17
Использование триггера на вставку для коррекции входных данных


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


3-1220794694
kaif
2008-09-07 17:38
2009.05.17
Вопросы по трриггерам MS SQL


15-1236713109
TUser
2009-03-10 22:25
2009.05.17
3 величайших достижения не только астрономии





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский