Аватар для beats
101 / 42 / 9
Регистрация: 09.12.2012
Сообщений: 597
.NET 4.x

гигиеничность кода c# - научиться разделять код на файлы

06.02.2013, 15:46. Показов 4209. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста! Тут я не имею ввиду качественную: комментируемость\именование переменных\объектов\классов.
Мне нужно как то научиться разделять код на файлы. Например довольно некрасиво когда вся большая программа находиться в том же коде формы Form1.cs Хотелось бы сделать например как функции в c++ чтоли?
Вот типа кнопка
C#
1
2
3
4
 private void button1_Click(object sender, EventArgs e)
        {
//Код с большими выражениями
        }
на типа так
C#
1
2
3
4
 private void button1_Click(object sender, EventArgs e)
        {
 button1code();
        }
ну чтобы не засирать файл с кодом формы. я вот не знаю как такие ссылки делать? Нужны классы, методы или функции? Чтобы определенный блок кода как ссылкой вставлять в нужные элементы! А сам блок еще вопрос где хранить? Для этого используется библиотека классов? или другие .cs файлы создавать?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.02.2013, 15:46
Ответы с готовыми решениями:

Как разделять код на отдельные файлы
в С++ все понятно - заголовочные(.h), реализация(.cpp). А как поступить в C# ? на данном этапе есть окно MainForm (соответственно файлы...

Научиться искусству оптимизации кода
Доброго вечера. Такой вопрос, может есть у кого свободная минутка и может научить правилу формирования кода, делать код более компактным и...

Где научиться оптимизировать код?
Подскажите хорошие уроки, желательно на русском, по отладке ошибок ПХП, нахождение, исправление ошибок, ускорение работы сервера,...

25
 Аватар для body90
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
14.02.2013, 04:05
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Sinys Посмотреть сообщение
Что приведет к большей путанице... Как по мне их добавили исключительно для любителей структурного/функционального подхода
Загляните в часть класса формы, в которой инициализирующий контроллы. Вы действительно считаете, что было бы удобнее, если б это всё лежало в одном файле с логикой формы, которую пишет разработчик. И это только первый пример, который пришел в голову.
0
28 / 28 / 6
Регистрация: 25.12.2008
Сообщений: 186
14.02.2013, 04:29
Цитата Сообщение от body90 Посмотреть сообщение
Загляните в часть класса формы, в которой инициализирующий контроллы. Вы действительно считаете, что было бы удобнее, если б это всё лежало в одном файле с логикой формы, которую пишет разработчик. И это только первый пример, который пришел в голову.
Я действительно думаю что это можно было поместить в region и скрыть... или в отдельный файл настроек, в принципе без разницы.
Или делать цепочки связанности, то есть:
#region button1
#region auto generated
1) Объявление, параметры начального расположения.
2) Подписи событий
#endregion
3) Методы реализующие события
#endregion

Лично мне было бы так намного удобней...
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
14.02.2013, 07:33
Цитата Сообщение от body90 Посмотреть сообщение
Вы действительно считаете, что было бы удобнее, если б это всё лежало в одном файле с логикой формы, которую пишет разработчик.
Цитата Сообщение от Sinys Посмотреть сообщение
Лично мне было бы так намного удобней...
А далеко ходить не надо, в VS 2003 так и было. По работе приходится сопровождать софтинку написанную на .Net1.1, так вот это смешение кода в одну кучу (файл) доводит до белого каления любителям изврата рекомендую
1
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
14.02.2013, 07:46
Цитата Сообщение от Sinys Посмотреть сообщение
Как по мне их добавили исключительно для любителей структурного/функционального подхода
Это вряд ли.
С точки теории программирования они вообще никуда не вписываются.
Но на практике это стало изящным решением проблемы быстрого рисования GUI.
В самом деле, форма с контролами должна быть единым классом. Но кусок с инициализацией контролов должен генериться автоматом, а остальное писать программист. Вот и придумали.
0
28 / 28 / 6
Регистрация: 25.12.2008
Сообщений: 186
14.02.2013, 07:57
Цитата Сообщение от dondublon Посмотреть сообщение
В самом деле, форма с контролами должна быть единым классом. Но кусок с инициализацией контролов должен генериться автоматом, а остальное писать программист. Вот и придумали.
Так легче создавать образ формы без компиляции... И я быстрее дописываю события в коде чем "мышкой" в свойствах.... не говоря уже про названия элементов и методов...
0
 Аватар для body90
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
14.02.2013, 14:27
Цитата Сообщение от Sinys Посмотреть сообщение
или в отдельный файл настроек
Так это и есть отдельный файл. А как его назвать - это другое дело, которое сути не меняет. Зато можно достучаться до полей/методов прямо из этого же класса, а не делать всё статическим.
Цитата Сообщение от Sinys Посмотреть сообщение
Я действительно думаю что это можно было поместить в region и скрыть...
Представляю какой бы там был censura, если бы студия всё генерировала в тот же файл, куда и пользователь писал код. Я понимаю, что некоторым легче написать всю инициализацию от руки, но когда пишешь не окошко с двумя кнопками, очень напрягает постоянно запускать приложение, чтоб посмотреть в то ли место влепил поле ввода и нормально ли всё растягивается.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.02.2013, 14:27
Помогаю со студенческими работами здесь

Как научиться эффективно читать чужой код С++
Поделитесь пожалуйста опытом или просто мыслями о том, как всё таки начать разбираться в не своём коде? Может у кого-то есть какие-то...

Как научиться писать красивый, масштабируемый, понятный код на php?
Как научиться писать красивый, масштабируемый, понятный код на php? Сразу сниму ответы типа "чтобы научиться программировать,...

Может кто-то подскажет, где можно научиться писать красивый, качественный код
Здравствуйте! У меня возникла проблема.. Она уже как лет 6:) Пишу на php уже 6-й год, но толком ни наследование, ни абстракцию, ни...

Работа в Visual Studio 2015 - как добавить файлы исходного кода и заголовочные файлы?
Приветствую всех! Столкнулся с тем, что решая задачи по книге Лафоре про графику, не смог добавить файлы .h и .cpp, скачав их с одной из...

Зачем нужно добавлять файлы в файлы исходного кода
Зачем нужно добавлять файлы в файлы исходного кода (кроме main.cpp)? И как вызвать из main.cpp другой файл?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Опции темы

Новые блоги и статьи
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru