Windows Forms Designer — плохая практика? [требует правки]

221
19 декабря 2017, 15:41

Я посмотрел одно видео (лекцию), в котором автор убеждал, что использование дизайнера в Windows Forms -- это очень плохо и вообще дело минувших дней. Если использовать этот дизайнер, то получается (извините) говнокод, который очень трудно развивать и дополнять. Это было не то что бы откровение, просто возникает резонный вопрос, а стоит ли оно всех усилий?

Просто вот так вручную верстать все эти кнопочки, эм, ну занятие не самое веселое откровенно говоря.

Возможно, у Вас будет достойный пример, подтверждающий слова лектора :)

Answer 1

Если использовать этот дизайнер, то получается (извините) говнокод, который очень трудно развивать и дополнять.

Молодой человек, пожалуйста, усвойте себе раз и навсегда одну простую истину. Технология, это всегда прежде всего инструмент в руках разработчика. И какой код получится в результате её использования зависит не столько от неё самой, сколько от профессионализма того, кто её применяет.

Можно на Delphi написать код высокого качества, а можно и на Java сотворить такое, что без слёз не взглянешь.

Если говорить об устаревании, то как писал один мой коллега, если вокруг той или иной технологии больше нет ажиотажа (который в большинстве своём имеет лишь маркетинговую составляющую), это ещё не значит, что она устарела.

Те же Windows Forms до сих пор поддерживаются. На их основе создано множество превосходных решений.

Просто вот так вручную верстать все эти кнопочки, эм, ну занятие не самое веселое откровенно говоря.

Вёрстка вручную занятие не столько "скучное", сколько затратное по времени. А, визуальные редакторы это время очень существенно экономят потому, что выполняют большую часть шаблонной рутинной работы за программиста.

К подобным редакторам пришли, как раз после ручного кодирования GUI под тот же Windows.

А, вообще откройте для себя WPF или web. Благодаря возможности именно ручной вёрстки интерфейса там можно делать поистине невообразимые вещи. Другое дело, что это усложняет процесс разработки, да и такая гибкость не всегда требуется...

Например, многие системные программы вообще не имеют GUI и управляются через консоль.

Answer 2

Основная проблема форм, сделанных в дизайнере, заключается в том, что они не очень хотят реагировать на изменение размера (ну помимо контролов и контеёнеров с Dock). Нормальная форма должна нормально ресайзиться с вытягиванием элементов и другими изменениями. На одном Dock далеко не уедешь, поскольку расстояния между такими элементами будут нулевыми. Допускаю, конечно, что можно накидать умных панелей, которые умеют автоматически делать отступы между контролами (хотя они при этом глючат), но лично я предпочитаю другой подход - приблизительно расставить контролы в дизайнере и написать код, которые их позиционирует относительно друг друга.

Да, есть ещё одна проблема: у новичков от дизайнера форм часто остаются имена в духе TextBox1, TextBox2 и т. д. Но это не проблема дизайнера форм.

READ ALSO
screenshot storage API

screenshot storage API

Добрый день! Я пишу автотесты на C# + Selenium и для failed тестов я делаю скриншотыИ вот появилась у меня необходимость хранить эти скриншоты не локально...

220
ASP.Net Core MVC на Ubuntu Server

ASP.Net Core MVC на Ubuntu Server

ЗдравствуйтеИмеется удалённый сервер на Ubuntu Server 16

211
Как обратиться к элементу XAML с помощью C# в WPF приложении?

Как обратиться к элементу XAML с помощью C# в WPF приложении?

Для примера есть 2 кнопки с разным контентом

277
Реализация конструктора по умолчанию

Реализация конструктора по умолчанию

Добрый деньПомогите разобраться с теорией

253