Я смотрю видео на C # о переменных. Автор объявляет переменную внутри метода и называет ее так: string MyName = "James";
Мой вопрос: какое соглашение рекомендуется .Net Framework. Это корпус Паскаля, как в приведенном выше примере, или верблюжий?
Я смотрю видео на C # о переменных. Автор объявляет переменную внутри метода и называет ее так: string MyName = "James";
Мой вопрос: какое соглашение рекомендуется .Net Framework. Это корпус Паскаля, как в приведенном выше примере, или верблюжий?
Ответы:
Я не думаю, что есть что-то вроде «официальной» конвенции. Насколько я знаю, многие опытные разработчики C # считают хорошей практикой следующее:
PascalCase for public member variables (string MyName = "James")
camelCase for local variables (string myName = "James")
_leadingUnderscore for private member variables (string _myName = "James")
При таком подходе можно различать локальные переменные, а также открытые и закрытые члены по случаю их первой буквы.
Как и в любом соглашении о кодировании, это также зависит от личных предпочтений. Поэтому нет однозначного ответа. Общая цель должна состоять в том, чтобы сделать код максимально читаемым и понятным.
PascalCase
местные жители и получают camelCase
частные члены _leadingUnderscore
.
(aParameter: string)
. Я понимаю, что параметры по сути являются локальными переменными, особенно когда они передаются по значению, но часто очень полезно «увидеть», что переменная фактически передается в качестве параметра. Есть ли такое соглашение в C #?
private string _SomeString
. Вы бы сказали, что это конвенция? (Просто погружаю мои пальцы в C # и задаюсь вопросом об этом материале).
Соглашения об именах .Net Framework ( v4.5 , v1.1 ) об этом не говорят. Они не определяют стандарт для именования локальных переменных. Вы должны будете принять решение о присвоении им имен.
Я лично использую camelCase и устраняю неоднозначность переменных-членов по именам параметров this
при необходимости. Но ведущие подчеркивания (то есть _memberVariable
) также действительны.
this
чтобы отличать локальные переменные от полей / свойств. 5 дополнительных писем каждый раз это слишком много imho.