Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перекрестные ссылки [D7, WinXP]


Страницы:   1 2 3

Andrushk ©   (2005-09-14 13:13:00) 

У нас на работе считается плохим стилем использовать перекрестные ссылки между модулями. Никто толком не знает что в них плохого, но глюки часто списывают на них:-)
Хотелось бы услышать мнение человека, который четко представляет проблему, есть какие-то негативные последствия использования перекрестных ссылок в модулях?
Заранее спасибо.


Суслик   (2005-09-14 19:08:00) [1]

Хотя почитать есно полезно


Суслик   (2005-09-14 19:07:00) [2]

на самом деле не совсем :)
фаулер он все-таки javист, а там несколько другие принципы организации. Например перекрестные ссылки пакетов допустимы. В дельфи нет.
Поэтому в дельфи имхо несколько другие принципы и подходы.


Игорь Шевченко   (2005-09-14 19:04:00) [3]

Суслик ©   (14.09.05 19:02) [42]


> суров...


Но справедлив.


Anatoly Podgoretsky   (2005-09-14 19:03:00) [4]

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


Суслик   (2005-09-14 19:02:00) [5]

суров...


Игорь Шевченко   (2005-09-14 18:42:00) [6]

Andrushk   (14.09.05 18:32) [39]


> Конечно нет, но при таком количестве датасетов достаточно
> трудно их разделить на независимые группы


Мартин Фаулер: "Рефакторинг или улучшение существующего кода".
Читать.
До полного и окончательного просветления.


Andrushk   (2005-09-14 18:38:00) [7]

2 Суслик ©   (14.09.05 18:12) [37]

Мы кстати тоже их стали использовать.
И дата-модули разделили на: Документы, Справочники и Процедуры - три пакета.
Возможно благодаря этому ни у кого больше не возникает желания юзать из дата-модуля другие формы:-)


Andrushk   (2005-09-14 18:32:00) [8]

2 Игорь Шевченко ©   (14.09.05 18:06) [36]

Конечно нет, но при таком количестве датасетов достаточно трудно их разделить на независимые группы, кроме того нет гарантии, что при следующей "дописке" программы независимые датасеты не станут зависимыми:-)
Собсвенно говоря, когда программа была написана,она выглядела вполне прилично и логично (с точки зрения кода). А потом начались дописки и приписки, и начался бардак:-)
Но опятьтаки, это просто пример...мы сейчас поменяли принцип построения программ...просто интересно узнать почему так...
Ну и вообще на будующее, если снова придется воротить такие проекты, как лучше поступить...


Andrushk   (2005-09-14 18:25:00) [9]

Юрий Зотов ©   (14.09.05 18:05) [35]

Понятно.

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


Суслик   (2005-09-14 18:12:00) [10]

Я иногда сам использую такие ссылки. Но сейчас, особенно после внедрения runtime-пакетов, стараюсь писать так, чтобы таких ссылок вообще не было даже косвенных (А ссылается на Б, Б - на В, В на А).

Если придерживаться этого правила, то вынесение кода в runtime пакеты не представляет трудностей. Иначе беда - нужно все переделывать, т.к. runtime пакеты не могут иметь зацикленных ссылок вообще, даже под implementation.


Игорь Шевченко   (2005-09-14 18:06:00) [11]

Andrushk   (14.09.05 18:03) [34]


> Дело в том, что датасеты связаны друг с другом (например
> на afterscroll у одного могут передаваться параметры в другой).
> ..т.е. пришлось бы делать перекрестные ссылки. Поэтому затею
> оставили.


Что, вообще все датасеты (которые не умещаются в 1280х1024) имеют ссылки друг на друга ?


Юрий Зотов   (2005-09-14 18:05:00) [12]

Прекрестные межмодульные ссылки - сродни goto и не более. Ничего ни плохого, ни хорошего ни в том, ни в другом само по себе не содержитcя, а весь вопрос лишь в том, злоупотреблять ими, или нет. При разумном использовании - why not? Главное - чтобы структура проекта оставалась прозрачной и допускала его безболезненную модификацию, а сами модули были читабельны (это к вопросу о датасетах в два слоя - неужели сразу нельзя было сгруппировать их по их логическому назначению и разместить на разных датамодулях?).


Andrushk   (2005-09-14 18:03:00) [13]

2 Игорь Шевченко ©   (14.09.05 17:57) [29]

Я писалал на эту тему.
Дело в том, что датасеты связаны друг с другом (например на afterscroll у одного могут передаваться параметры в другой)...т.е. пришлось бы делать перекрестные ссылки. Поэтому затею оставили.

А когда пошел глюк с отладкой, стали смотреть код, оказалось что перекрестные ссылки всеравно есть, на формы... И глюк списали именно на перекрестные ссылки.


Reindeer Moss Eater   (2005-09-14 18:01:00) [14]

А то, что прилада не отлаживается с перекрестными ссылками никак не связано.

С таким подходом к проектированию это неудивительно, что не отлаживается.


Reindeer Moss Eater   (2005-09-14 17:59:00) [15]

Andrushk

Что заело пластинку?
Ты заявил, что у тебя нет никакой зависимости модулей.
Я тебе показал, что у тебя есть жуткая зависимость между модулями.

Как сделать лучше я тебе уже написал сто постов назад.


Игорь Шевченко   (2005-09-14 17:59:00) [16]

Andrushk   (14.09.05 17:25) [23]


> но я вот пытаюсь учиться, а Вы вместо помощи отписываетесь
> чем-то больше похожим на едкие насмешки


Я сильно извиняюсь, а что, самообразование или платные консультации уже отменили ?


Andrushk   (2005-09-14 17:58:00) [17]

2 Джо ©   (14.09.05 17:39) [26]

Ага, пасиб, видел в магазине...видимо неспроста взягляд на нее упал:-)


Игорь Шевченко   (2005-09-14 17:57:00) [18]


> Так вот пример. В одном из приложений есть у нас датамодуль,
>  сколько там наборов данных не считал, но вобщем в разрешении
> 1280x1024 форма занимает весь экран и там датасет на датасете
> лежит, местами в два слоя:-)


А разбить на несколько кто-то не позволяет ?


Andrushk   (2005-09-14 17:57:00) [19]

2 Reindeer Moss Eater ©   (14.09.05 17:39) [25]

Ладно объясню, если бы потом какой-то пес не наплодил ссылок на другие модули, то было бы "...все здорово".

Так лучше? Мне казалось что я довольно ясно высказал мысль.

Так что вы можете сказать по поводу почему датамодуль не отлаживается? Ничего? Может тогда оставить сарказм?


Vudu   (2005-09-14 17:43:00) [20]

Перекрстные ссылки использовать незапрещено и на работу программы они невлияют, просто сейчас считается признаком дурного тона их использовать, из-за трудночитаемости (и более сложной отладки) исходного кода. Я в своих программах (кроме древних бейсиков) их неиспользую


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо