metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-04-21 09:23 pm

Дотнет UI

За то время, которое уходит на исправление мелкого визуального бага в дотнетовском UI layout (без дизайнера, у меня UI генерируется) в серверном back-end на clojure можно реализовать весь анализ метаданных JDBC и генерацию CRUD запросов к таблицам из них.
Дичь какая-то. При этом баг в принципе не мешает работать с программой, является заведомо менее критичным чем все остальные задачи. Но мелкие косяки UI бесят настолько, что желание вообще этот проект открывать пропадает.
Например, неравномерное расположение текста (текст не помещался в метку, рендерер при этом смещал текст на пару пикселей вверх) или несимметричное расположение поля ввода и названия из справочника для него (размер строки грида для layout был на 2 пикселя больше нужного и textbox при этом не меняет свой размер (игнорируя DockStyle), а label - меняет).

Или еще одно безумие: MenuStrip у которого высота меняется в зависимости от того, есть ли в нем Separator. При этом меню не статическое - оно генерируется исходя из текущей открытой закладки и поэтому переключение между закладками вызывало прыгание всего layout.
Ну это чисто визуальные баги, а еще ж горы юзабилити-багов - то фокус ввода не туда попадет и лишнюю кнопку нажать надо, то горячие клавиши для меню не всегда работают, то еще что.
И, блин, привычные методы починки - медитация на код, логи и структуры данных в этом случае не помогают - потому что моего кода там 10% от кода самого дотнета, который или недоступен или нечитабелен, а все вызовы происходят в контексте обработчиков сообщений винды с дикими стек-трейсами вида "ProcessVoodooItems->DoCallVoodooMethod->DoCallVoodooMethodInternal->GetCanCallVoodooMethod->OurOwnVoodooMethodHandler".
Вместо этого отладчик и пиксель-хантинг, слава богу, хоть в коде а не в дизайнере форм.

[identity profile] sleepy-drago.livejournal.com 2013-04-22 06:02 am (UTC)(link)
ui это большинство багов. что забавно что никакого прогресса в этом плане нет.
пысы. заканчиваем 2ю версию софтины с штмл гуем на хроме - не верьте сказкам про веб интерфейсы.
пысы2. дык вставить сепаратор навечно =) например перед меню хээээлп