Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/25: Рейтинг темы: голосов - 25, средняя оценка - 4.92
28 / 28 / 11
Регистрация: 08.08.2011
Сообщений: 1,173

Как вы называете переменные в c#

28.06.2014, 13:40. Показов 4674. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хотелось узнать, какого стиля обычно вы придерживаетесь при названии переменных и других объектов в c#.

1. Допустим, приписываете ли вы в начале переменной ее тип?

iVar (тип = int)
sVar (тип = string)
dicVar (объект = dictionary)
listVar (объект = list )

2. Если название переменной сложносоставное, то в каком стиле вы пишите?

longNameVariable
LongNameVariable
long_name_variable
?

Добавлено через 26 секунд
3. Есть ли какие-то другие правила, которых вы придерживаетесь при наименовании переменных?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.06.2014, 13:40
Ответы с готовыми решениями:

Как называете сие дияние ?
Приветствую , как называется подобная вещь ? http://codepen.io/suffick/pen/KrAwx. Canvas JS ? Просто анимация ? Спасибо заранее.

Приложение, которое узнает ваш день рождения, хотя вы его не называете
Добавляем форму «Zadanie4». Приложение, которое узнает ваш день рождения, хотя вы его не называете. Выведите на форме label, в котором...

Вы называете число. Я возвращаю результат обработки этого числа. Вы отгадываете принцип обработки
Давненько не разминали мозги по-серьёзному. Вот вспомнил детскую забаву опять же 50-летней давности из журнала "Пионер". Ну,...

13
 Аватар для Metall_Version
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
28.06.2014, 13:43
имя должно быть существительным , отражать полный смысл назначения переменной. всегда с маленькой буквы.(для локальных и полей) константы и свойства с большой.

Цитата Сообщение от Suppir Посмотреть сообщение
приписываете ли вы в начале переменной ее тип?
чего?
0
28 / 28 / 11
Регистрация: 08.08.2011
Сообщений: 1,173
28.06.2014, 13:47  [ТС]
Цитата Сообщение от Metall_Version Посмотреть сообщение
чего?
Дело в том, что на том же Perl можно легко отличить переменную от массива, а массив от хеша.
Переменная: $var
Массив: @var
Хеш: %var

В c# и других языках программирования, где нет префикса для обозначения типа переменной, все эти объекты пишутся как "var". Соответственно, некоторые программисты в само имя переменной добавляют краткое обозначение типа, чтобы проще было ориентироваться по названиям переменных.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
28.06.2014, 13:47
Suppir, есть же принятые сокращения...
поля, к примеру, верблюжим стилем, Свойства, методы, классы-обычным. Контролы-сокращениями, тоже верблюжим.
К примеру, поле типа-> myVariable
Свойство->MyProp
Кнопка->btnStart
Метод->RunWork
Класс->AsyncCollection
1
484 / 439 / 123
Регистрация: 05.01.2010
Сообщений: 1,848
28.06.2014, 14:00
а тип переменной кстати показывается в студии при наведении на нее, так что разные префиксы к переменным незачем вообще
0
 Аватар для Metall_Version
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
28.06.2014, 14:03
Цитата Сообщение от Suppir Посмотреть сообщение
Дело в том, что на том же Perl можно легко отличить переменную от массива, а массив от хеша.
тип переменной ни как не должен влиять на имя .. кагбы.. причем тут перл
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
28.06.2014, 14:10
Лучший ответ Сообщение было отмечено ViterAlex как решение

Решение

Suppir, у нас есть IntelliSense, а компилятор многие ошибки выполнения может найти на этапе компиляции. Венгерская нотация уже давно не в моде. Навел на переменную - посмотрел тип.

Добавлено через 3 минуты
3. Конечно есть.

longNameVariable - локальные переменные, приватные поля.
LongNameVariable - публичные поля, свойства, константы, все методы.
2
Неадекват
 Аватар для freeba
1501 / 1237 / 248
Регистрация: 02.04.2010
Сообщений: 2,807
28.06.2014, 14:11
Префиксы пошли из языков с динамической и утиной типизацией, ибо сделать ошибку связанную с разными типами аргументов там не просто, а очень просто. Шарп строготипизированный язык, все переменные проверяются компилятором - необходимости в префиксах нет (сложить int и string не получится).

Другой разговор, что в каждой компании существуют свои соглашения именования переменных и, возможно, префиксная запись где-то, вопреки рекомендациям микрософта, сохранилась.
1
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
28.06.2014, 14:12
long_name_variable - в шарпе не притяно.
1
28.06.2014, 18:24

Не по теме:

Цитата Сообщение от freeba Посмотреть сообщение
сложить int и string не получится
C#
1
string str = "hello" + 123;
:)

0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
28.06.2014, 18:35
kolorotur, не, для сложения должен работать закон симметричности, то есть я должен иметь возможность записать так:
C#
1
var res = 123 + "hello";
однако не работает, значит это не сложение, а что-то, что замаскировалось под плюс, но на самом деле плюсом не является.
1
28.06.2014, 20:28

Не по теме:

Psilon, а еще меня тут занудой называют... :)

0
Заблокирован
28.06.2014, 21:26
Допустим, приписываете ли вы в начале переменной ее тип?
В C# нет.
Венгерское соглашение безнадёжно устарело. Типов в .NET развелось столько, что если для каждого префикс придумать, то всё время, выданное на реализацию проекта, и уйдёт.
Даже если брать только стандартные библиотеки. А сторонним вообще счёта нет, и в каждой по 1 типу как минимум.

Вот в Cи и С++ под WinAPI - да.
WinAPI уже лет 20 как практически не меняется, да типов там и никогда много не было - ООП-то нет.
Но и там эти префиксы в основном осмыслены, а не просто обозначают тип. Например, cX, cLeft, c*** - это координата. iCount, i**** - это количество чего-то. nElement, n**** - это номер и т.д.

Во всяких VB6, VBA, Delphi - тоже использую, по той же причине.

Если название переменной сложносоставное, то в каком стиле вы пишите?
longNameVariable
LongNameVariable
long_name_variable
Для C#, C++, Java - в первом.
Для VB.NET и др. - во втором.
В третьем - не пишу, тире с шифтом жать неудобно
Разве что в Java под Android, где файлы xml-разметки активностей называются в стиле activity_***.xml
И в JS иногда.

Есть ли какие-то другие правила, которых вы придерживаетесь при наименовании переменных?
Их вообще особенно нет.
0
307 / 284 / 102
Регистрация: 06.05.2014
Сообщений: 861
28.06.2014, 21:39
Цитата Сообщение от Водяной Змей Посмотреть сообщение
Их вообще особенно нет.
Вероятно имелись ввиду правила негласные, а они есть всегда, например, лично я, со многим согласен вот отсюда: http://habrahabr.ru/post/26077/
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.06.2014, 21:39
Помогаю со студенческими работами здесь

Как описываются переменные типа запись? В каких случаях целесообразно использовать переменные типа запись?
1. Как описываются переменные типа запись? 2. В каких случаях целесообразно использовать переменные типа запись? 3. Из каких...

Внутриблочные переменные не могут иметь те же имена, что и переменные из блока верхнего уровня
program matr; uses crt; const n = 5; m = 5; var

Создать программу обработки массивов структур используя структурные переменные и переменные типа объеденения
Создать массив структур, каждая из которых состоит из следующих елементов: факультет, курс, группа, фамилия студента и екзаменационная...

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

Запись из формы данных в переменные php файла, данные из переменные используются в других файлах сайта
Всем привет! Ребят, подскажите пожалуйста! Есть один файл с обычной html формой, в которой обычные данные (фио, вэб-ссылка, контактные...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru