Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.53/19: Рейтинг темы: голосов - 19, средняя оценка - 4.53
 Аватар для beats
101 / 42 / 9
Регистрация: 09.12.2012
Сообщений: 597
.NET 4.x

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

06.02.2013, 15:46. Показов 4131. Ответов 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
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru