metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2009-12-25 11:42 am

Позднее связывание

Всякое конфигурирование приложений через позднее связывание, xml-конфиги и прочие аннотации-атрибуты чревато еще тем боком, что сдуру можно запросто удалить метод или класс на который формально ссылок в коде нет, и все это дело вполне себе соберется. А потом с грохотом умрет в рунтайме, и это еще хорошо, если на старте, а не где-нибудь в дебрях выполнения после сотни действий юзера.
(deleted comment) (Show 3 comments)

[identity profile] potan.livejournal.com 2009-12-25 12:18 pm (UTC)(link)
Ага, помню в одном проекте делали связывание на этапе линковки - через инициализацию глобальной переменной в C++. Какие .o подсунул, такие классы и заработают.
Не то, что бы очень позднее, но и там плясок с бубном с зависимостями хватило.

[identity profile] 184467440737095.livejournal.com 2009-12-25 12:22 pm (UTC)(link)
иногда помогает IDE.

[identity profile] volger.livejournal.com 2009-12-25 12:24 pm (UTC)(link)
Сейчас идет к тому, что IDE это подмечают и сигнализируют удобными способами пользователю об этом, например, IntelliJ Idea при работе со Spring и Hibernate.
Плюс движения в сторону аннотаций непосредственно в коде, там-то уж все рядом лежит.
PS это я со своей, джавовской колокольни )

[identity profile] sergiej.livejournal.com 2009-12-25 01:34 pm (UTC)(link)
Я, кажись, озвучивал историю как выловил мистическую ошибку когда по ночам вечный цикл убивал всю память. Произойти он не мог ни по какой нормальной логике, а только благодаря специфической конфигурации продукта динамические методы начинали вызыватья в цепочке, которая закикливалась.

[identity profile] mak-sh.livejournal.com 2009-12-25 08:33 pm (UTC)(link)
А как же, любимая ошибка: "Segmentation fault".

[identity profile] kurilka.livejournal.com 2009-12-27 09:16 pm (UTC)(link)
Будешь встраивать http://lambda-the-ultimate.org/node/3741 ?