metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-06-03 04:38 pm

За что я еще ненавижу Visual Studio

Редактор GUI в ней дичайше кривой, выход его - еще более кривой.
Конкретно, мелкое редактирование GUI приводит к дикому переколбашиванию кода типа Form.Designer.cs что делает малореальным отслеживание и слияние изменений с помощью систем контроля версий и вообще любых текст-ориентированных инструментов.

[identity profile] darkdrip.livejournal.com 2012-06-03 01:52 pm (UTC)(link)
Альтернатива? IDEA + Swing? ru-java.livejournal.com/367838.html
Для создания гуя ничего лучше Visual Studio нет, имхо.
Edited 2012-06-03 13:53 (UTC)

[identity profile] craneop.livejournal.com 2012-06-03 05:52 pm (UTC)(link)
Для создания гуя ничего лучше Visual Studio нет, имхо.

Ты тупая ебанашка.

[identity profile] darkdrip.livejournal.com 2012-06-03 06:06 pm (UTC)(link)
напиши еще одно кривое убогое говно на свинге и убей себя об стену, уёбыш

[identity profile] craneop.livejournal.com 2012-06-03 06:10 pm (UTC)(link)
Ути-пути. Пиши дальше за еду на похапе, долбанашка.

[identity profile] thinker8086.livejournal.com 2012-06-19 11:35 am (UTC)(link)
А Вы, я так понял, за последние 5 лет две хаты купили и на новенькой А8 ездите на работу?

[identity profile] fas-tm.livejournal.com 2012-06-03 01:53 pm (UTC)(link)
я очень редко использую визуальные средства создания GUI.
Мне проще в коде сделать это. это отслеживается в системе контроля версий.
И кстати до сих пор в 2010VS можно получить зависон на сложной форме при таскании какого либо контрола нестандартного.

[identity profile] darkdrip.livejournal.com 2012-06-03 01:55 pm (UTC)(link)
Я еще маленькый, но когда мне нужно написать калькулятор, мне проще сразу видеть глазами результат.

[identity profile] fas-tm.livejournal.com 2012-06-03 01:59 pm (UTC)(link)
а потом вы вырастаете и хотите чтобы калькулятор имел бОльшую разрядность и кучу новый кнопулей.
И вы лезете в редактор форм и с болью в попе начинаете впихивать подбирая размеры и прочую шнягу, не забывая при этом обзывать контрол правильно чтобы потом в коде не было:
label1.somefuck
...
label12.anotherfuck
я отказался иметь такой секас....

[identity profile] thinker8086.livejournal.com 2012-06-19 11:36 am (UTC)(link)
А В чём проблема сразу переобозвать? Вроде как дело 20 секунд, включая придумывание название и вбивание его в соответствующее поле ввода...

[identity profile] fas-tm.livejournal.com 2012-06-19 12:00 pm (UTC)(link)
лениво в 80% случаев :) Покидал контролы на форму и все. забыл.
в рантайме рука не поднимается обычно у народа на такие подвиги :)

[identity profile] thinker8086.livejournal.com 2012-06-20 05:45 pm (UTC)(link)
Вот мне комменты лениво писать к коротким функциям или отдельным блокам кода.

А контролы непереобозвать - это ппц, код читать невозможно будет от слова совсем. По крайней мере, если контролов больше двух.

[identity profile] metaclass.livejournal.com 2012-06-03 01:59 pm (UTC)(link)
О. А я думал, я один солнце вручную закатываю.

[identity profile] fas-tm.livejournal.com 2012-06-03 02:47 pm (UTC)(link)
ну да... а как делать более или менее динамический гуй... а если его еще и генерить надо ?
Вообщем, я конечно понимаю что у настоящего ребе "gui должен быть обрезан", но не до такой же степени !
Edited 2012-06-03 14:50 (UTC)

[identity profile] craneop.livejournal.com 2012-06-03 05:54 pm (UTC)(link)
Пейшу адскую хуйню на свинге (легаси десятелетнее). Весь интерфейс ручками, правда дохуя рутины создается с помощью кодогенерации. Все ок. Местами заебывает, но жить можно.

[identity profile] tzirechnoy.livejournal.com 2012-06-03 07:19 pm (UTC)(link)
Вручную -- это как раз каждый контрол ручками брать и на место перетаскивать.
Создание GUI в коде как раз во-первых заметно лучшэ поддаётся автоматизацыи само по себе, а во-вторых обычно тупо быстрее, поскольку настроенный текстовыми командами layout manager быстрее приходит к нужному результату.

[identity profile] metaclass.livejournal.com 2012-06-03 07:30 pm (UTC)(link)
О. Насчет быстрее надо бы попробовать, задолбали тормозить при отрисовке.

[identity profile] tzirechnoy.livejournal.com 2012-06-04 09:01 am (UTC)(link)
Быстрее я имел в виду по времени программиста, а не по отрисовке. То есть дажэ не применяя никакой сложной логики при создании GUI, тупо создавая контролы на лэйауте -- получается быстрее, поскольку лэйаут проще описать чем правильно попасть контролом.

[identity profile] aamonster.livejournal.com 2012-06-04 08:01 am (UTC)(link)
Я пока держусь, только часть контролов генерю, а в ресурсах стараюсь просто оставлять под них место.

[identity profile] kuaw26.livejournal.com 2012-06-03 03:26 pm (UTC)(link)
Создавать GUI надо только кодом :)
Только хардкор!
Я даже на делфи нахер выпилил все DFM и все кодом создал.
Доволен как слон. Все что менял - видно в дифах при сдаче в свн + легко меняется внешний вид сразу везде,
достаточно только класс "построитель GUI" допилить и бац, везде все поменялось.

[identity profile] denisioru.livejournal.com 2012-06-03 05:27 pm (UTC)(link)
У Вас наверно времени дохера писать гуй из кода. Покажите формочки например.

[identity profile] kuaw26.livejournal.com 2012-06-04 04:28 am (UTC)(link)
да че там показывать. 90% моих форм это "метка-едитор-кнопка"
код выглядит так:
pnlEscapeRoute := builder.createPanel(true, alRight, 300);
builder.createGroupBox('Пути эвакуации', alTop, 0, 60);
edRouteName := builder.createTextEdit(FN_ER_ROUTE_NAME, FDN_ER_ROUTE_NAME);
и т.д.

GUI код пишется ОЧЕНЬ БЫСТРО!
Но пришлось конечно немного попотеть сначала над builder-ом.

[identity profile] denisioru.livejournal.com 2012-06-04 04:44 am (UTC)(link)
А, ну вот дойдете до форм посложнее - посчитайте сколько часов Вы будете делать гуй. И сколько вам понадобиться чтобы подвигать элементы на форме.

[identity profile] metaclass.livejournal.com 2012-06-04 04:51 am (UTC)(link)
Как раз с формами посложнее - ручная работа в дизайнере превращается в ад. Генерировать формы намного проще, чем набирать их в дизайнере.

[identity profile] denisioru.livejournal.com 2012-06-04 04:53 am (UTC)(link)
Генерировать != делать их руками из кода.

[identity profile] smalgin.livejournal.com 2012-06-03 04:05 pm (UTC)(link)
А почему не XAML (http://en.wikipedia.org/wiki/Extensible_Application_Markup_Language)?
Он гораздо кошернее в version control IMO. И писать прямо в нем - полный цимес, intellisense и постоянная синхронизация с design window.

Windows.Forms уже как бы почти что legacy :)

Но если уж застряли там и у вас действительно столько controls, что требуется слияние и постоянный контроль версий, то можно делать отдельные безбордюрные формочки и штамповать их на основное диалоговое окно. Разделяй и властвуй.

[identity profile] metaclass.livejournal.com 2012-06-03 04:10 pm (UTC)(link)
WPF адская нечеловеческая хрень. Я лучше на Qt перейду тогда уж, или вообще на линуксятину какую.

[identity profile] ircicq.livejournal.com 2012-06-03 04:40 pm (UTC)(link)
Тоже так думал, пока не переписал приложение с WinForms на WPF.
Первое - лишь обёртка API, спроектированного в начале 80-х.

В WPF всё с нуля и более логично.

[identity profile] n16bs.livejournal.com 2012-06-03 07:52 pm (UTC)(link)
Ну на самом деле там оверинжениринга выше крыши и иногда разобраться почему что-то не работает очень сложно, даже с гуглом.

[identity profile] nivanych.livejournal.com 2012-06-03 05:14 pm (UTC)(link)
На Qt? А ви пробовали gtk?
;-)

[identity profile] n16bs.livejournal.com 2012-06-03 07:46 pm (UTC)(link)
Всяко лучше чем винформс или вкл.
Edited 2012-06-03 19:46 (UTC)

[identity profile] smalgin.livejournal.com 2012-06-05 05:21 am (UTC)(link)
Заманчивый выбор.

Я сам кодом, конечно, генерил. Для моей скромной одноюзеровой утилиты статические формы не подошли.
Но в WPF, в духе времени lol.

Другой же мой коллега вообще начал рендерить диалоги в browser control и слать от них notifications в типо внутренний сервер. Грозился все свои диалоги заменить этак вот.

Кто во что горазд. Флеймов видал кучу, идеального GUI Framework - нет.

Qt не изучал, а было бы неплохо...

[identity profile] theiced.livejournal.com 2012-06-03 04:31 pm (UTC)(link)
вы так шутите или вы идиот?

[identity profile] gds.livejournal.com 2012-06-03 04:38 pm (UTC)(link)
если человек хвалит xaml -- двух мнений быть не есть. iSed, что за глупые вопросы?

[identity profile] nivanych.livejournal.com 2012-06-03 05:20 pm (UTC)(link)
Ведь есть ruby/tk!
О чём тогда весь этот разговор?? ;-)

[identity profile] smalgin.livejournal.com 2012-06-05 05:25 am (UTC)(link)
вопль души был в контексте VStudio, я ответил в контексте VStudio. :)

Я лично предпочитаю уж тогда HTML/Javascript. Всунул какой нибудь Ext или Dojo и - веселись, мужичина! (ц)

[identity profile] tzirechnoy.livejournal.com 2012-06-03 07:08 pm (UTC)(link)
Не XAML потому, что если человек ужэ понял, что вижуал дезигнеры MSVS и RAD Studio -- дерьмо, то про ХAML он тожэ как-нибудь догадается.

[identity profile] smalgin.livejournal.com 2012-06-05 05:29 am (UTC)(link)
А подскажите-ка хороший вижуал дезигнер. Не дерьмо который. А то я все json пишу да json, а он, говорят, тоже некошерный...

nivanych вот рекомендует ruby/tk... стоит ли мне делать обрезание и записываться в послушники?

[identity profile] metaclass.livejournal.com 2012-06-05 05:47 am (UTC)(link)
Нет, в tk ад.

[identity profile] tzirechnoy.livejournal.com 2012-06-05 06:33 am (UTC)(link)
Не бывает. Как упыря. Точнее, есть один -- карандаш и салфетка. И то в качестве вспомогательного. Остальное от лукавого. Это если надо именно "visual" (как в vb, MSVS и Delphi/RAD).

tk -- хорош. Да, проблемы есть -- это не отменяет. Точнее, ничего лучшэ в общем не придумали.

[identity profile] tzirechnoy.livejournal.com 2012-06-05 06:34 am (UTC)(link)
И да, ruby я не пробовал, под tk только на tcl пишу. Главное при этом -- поменьшэ логики, или хотя бы её модуляризовать и абстрагировать посильнее.

[identity profile] tzirechnoy.livejournal.com 2012-06-05 06:35 am (UTC)(link)
Я имел в виду бизнес-логики в tclной программе.

[identity profile] victor bolshakov (from livejournal.com) 2012-06-03 06:41 pm (UTC)(link)
Вааще-то VS переколбашивает .Designer.cs если кто-то там руками поковырялся....
Я в дизайнере общую расстановку контролов делаю, а дельше наполняю руками. Но правда у меня сейчас только один активный проект с GUI.

А вот что придумывать с UI в нашей с тобой беде...

[identity profile] tzirechnoy.livejournal.com 2012-06-03 07:07 pm (UTC)(link)
А у меня в ленте классная картинка прямо под твоим постом. Я аж поначалу пропустил разделитель, и восхитился -- где это ты такую точную картинку нашёл.

[identity profile] n16bs.livejournal.com 2012-06-03 07:49 pm (UTC)(link)
Ребе, напишите (на кложуре) для winforms кодогенератор из xmljson и пишите гуй в нотпаде. Всяко лучше чем руками его писать на c#, как тут некоторые предлагают.
Edited 2012-06-03 19:53 (UTC)

[identity profile] metaclass.livejournal.com 2012-06-03 08:00 pm (UTC)(link)
Так и надо, вот дойдут руки, сделаю.

[identity profile] http://users.livejournal.com/_aive_/ 2012-06-04 06:33 am (UTC)(link)
Ага, изобретите свой xaml))

[identity profile] aamonster.livejournal.com 2012-06-04 08:06 am (UTC)(link)
Ну, если к xaml добавить чуть более кошерный синтаксис (yaml и json заметно удобнее править руками и, соответственно, они лучше ложатся на vcs) и в редакторе убрать нелепое переупорядочение строк - то таки получится более приятный вариант xaml. К идее-то его претензий вроде нет...

[identity profile] tzirechnoy.livejournal.com 2012-06-04 09:03 am (UTC)(link)
А лучшэ -- начните писать на языке, который сам является описанием сложных древовидных структур.

[identity profile] aamonster.livejournal.com 2012-06-04 07:59 am (UTC)(link)
Вообще-то о таких вещах не принято говорить вслух: вдруг рядом дети, а вы материтесь.

Единственное, чем могу утешить - Interface Builder в XCode (Mac) ведёт себя почти так же.

Да, для xaml люди вроде придумали какой-то pre-commit hook, который упорядочивает xml-ку.