![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
За то время, которое уходит на исправление мелкого визуального бага в дотнетовском UI layout (без дизайнера, у меня UI генерируется) в серверном back-end на clojure можно реализовать весь анализ метаданных JDBC и генерацию CRUD запросов к таблицам из них.
Дичь какая-то. При этом баг в принципе не мешает работать с программой, является заведомо менее критичным чем все остальные задачи. Но мелкие косяки UI бесят настолько, что желание вообще этот проект открывать пропадает.
Например, неравномерное расположение текста (текст не помещался в метку, рендерер при этом смещал текст на пару пикселей вверх) или несимметричное расположение поля ввода и названия из справочника для него (размер строки грида для layout был на 2 пикселя больше нужного и textbox при этом не меняет свой размер (игнорируя DockStyle), а label - меняет).
Или еще одно безумие: MenuStrip у которого высота меняется в зависимости от того, есть ли в нем Separator. При этом меню не статическое - оно генерируется исходя из текущей открытой закладки и поэтому переключение между закладками вызывало прыгание всего layout.
Ну это чисто визуальные баги, а еще ж горы юзабилити-багов - то фокус ввода не туда попадет и лишнюю кнопку нажать надо, то горячие клавиши для меню не всегда работают, то еще что.
И, блин, привычные методы починки - медитация на код, логи и структуры данных в этом случае не помогают - потому что моего кода там 10% от кода самого дотнета, который или недоступен или нечитабелен, а все вызовы происходят в контексте обработчиков сообщений винды с дикими стек-трейсами вида "ProcessVoodooItems->DoCallVoodooMethod->DoCallVoodooMethodInternal->GetCanCallVoodooMethod->OurOwnVoodooMethodHandler".
Вместо этого отладчик и пиксель-хантинг, слава богу, хоть в коде а не в дизайнере форм.
Дичь какая-то. При этом баг в принципе не мешает работать с программой, является заведомо менее критичным чем все остальные задачи. Но мелкие косяки UI бесят настолько, что желание вообще этот проект открывать пропадает.
Например, неравномерное расположение текста (текст не помещался в метку, рендерер при этом смещал текст на пару пикселей вверх) или несимметричное расположение поля ввода и названия из справочника для него (размер строки грида для layout был на 2 пикселя больше нужного и textbox при этом не меняет свой размер (игнорируя DockStyle), а label - меняет).
Или еще одно безумие: MenuStrip у которого высота меняется в зависимости от того, есть ли в нем Separator. При этом меню не статическое - оно генерируется исходя из текущей открытой закладки и поэтому переключение между закладками вызывало прыгание всего layout.
Ну это чисто визуальные баги, а еще ж горы юзабилити-багов - то фокус ввода не туда попадет и лишнюю кнопку нажать надо, то горячие клавиши для меню не всегда работают, то еще что.
И, блин, привычные методы починки - медитация на код, логи и структуры данных в этом случае не помогают - потому что моего кода там 10% от кода самого дотнета, который или недоступен или нечитабелен, а все вызовы происходят в контексте обработчиков сообщений винды с дикими стек-трейсами вида "ProcessVoodooItems->DoCallVoodooMethod->DoCallVoodooMethodInternal->GetCanCallVoodooMethod->OurOwnVoodooMethodHandler".
Вместо этого отладчик и пиксель-хантинг, слава богу, хоть в коде а не в дизайнере форм.
no subject
Date: 2013-04-21 06:59 pm (UTC)И ещё "эта фича есть в стандарте третьей версии, который пишется уже 7 лет и будет утвержден ещё через пять, а реализован там-то вот так, там через пень-колоду, а вот тут вообще не реализован, так что закатывай солнце вручную".
Хрен редьки не слаще.
no subject
Date: 2013-04-21 07:04 pm (UTC)no subject
Date: 2013-04-23 05:24 am (UTC)