?

Log in

No account? Create an account

Заповедник репрессивной психиатрии

Гриды
metaclass
Использую DevExpress гриды. Количество неадекватного юзабилити-поведения, с которым пришлось столкнутся - для платного продукта не то что удивляет - а вообще сплошной wtf.
Например, чтобы войти в режим, в котором кнопки со стрелками работают влево-вправо внутри поля - нужно дважды нажать F2. Или дважды щелкнуть мышью. Если нажать один раз - в режим редактирования входит, но стрелки ходят по колонкам и записям.
Дойдя до последней колонки, выделение переходит на первую в следующей записи, до первой - на последнюю в предыдущей.
Из режима редактирования выйти можно только по Escape, переход на соседнюю строку не выходит из него.
Из последнего - выделяю группу записей. Нажимаю Ctrl-Del. Удаляется каждая вторая запись. Вот как это можно было сделать? Это тащемта мой баг, сам грид вроде не удаляет по Ctrl-Del. При удалении идентификаторы строк смещаются, надо вместо них что-то стабильное использовать.
Зато, блин, куча ненужной функциональности - какие-то CardView, фильтры, группы и прочая содомия, от которой пользователей точно заплющит, если они случайно ее используют.

PS: Вспомнил, что еще бесит: в всплывающих подсказках Intellisense ноль документации - что делает метод грида - "а хер его знает".

PPS: А вот еще: Read more...Collapse )
Я по нажатию Enter на гриде показываю свой редактор (модальный) и отменяю стандартную обработку. При этом in-place редактор в гриде все равно показывается. Оказывается, событие до него доходит изнутри ShowDialog. Как же бесят эти вечные дотнетовские мелкие заебы - никакими словами не передать.
Ну вот КАК показ модального окна умудряется послать событие неактивному окну - это же бессмыслица полная.

Случилось невозможное
metaclass
http://news.open.by/country/103395
Ужали в правах основных граждан страны и главную опору режима - пенсионеров.
Что завтра? Запретят принимать оплату за ЖКХ на почте, а послезавтра - запретят пить на улице и курить в подъездах?
Или заставят собачников собирать говно за питомцами, а за выбрасывание мусора и парковку на газоне сделают штрафы в 100 базовых величин?

PS: А вообще для общения с бабками надо поставить не девочку-консультанта, а программистов, которые интерфейсы для банкоматов и инфокиосков делают. Вы не представляете, насколько улучшится юзабилити оных девайсов всего-то за пару итераций такого :)

Только в дотнете
metaclass
модальное окно умудряется передать сообщение с клавиатуры в неактивное родительское окно:
Read more...Collapse )
http://stackoverflow.com/questions/9326508/in-keydown-a-showdialog-makes-suppresskeypress-not-work

Безумный капец какой-то. Семь лет при разработке в дотнете одно и тоже - мельчайшие издевательские заебы в юзабилити, которые надо обходить непропорционального размера отладкой и костылями.
Вот конкретно в гриде пришлось сделать конечный автомат, который одноразово не дает показать in-place редактор после нажатия Enter и открытия моего собственного редактора. Корявость невыносимая.

PS: Как отучить ЖЖ разворачивать гитхабовские гисты? Оно френдленту в тыкву превращает.

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

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