metaclass (metaclass) wrote,
metaclass
metaclass

Дотнет UI

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

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

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 23 comments