Каково происхождение / значение этих соглашений именования переменных? - PullRequest
1 голос
/ 05 мая 2010

Каков общий смысл и с чего он начал иметь переменные с , ведущими или , тянущимися подчеркиванием?

Я всегда думал, что начальное подчеркивание указывает на то, что переменная является указателем, но я не знаю, откуда у меня эта идея. Недавно я видел эти соглашения об именах, используемые в Java, что делает эти рассуждения совершенно неправильными.

Ответы [ 3 ]

1 голос
/ 05 мая 2010

Это немного зависит от языка программирования.

В C / C ++ Microsoft _varname использовала его для именования внутренних переменных компилятора, чтобы отличать их от пользовательских переменных. В последнее время я начал видеть префикс _ и постфикс _ как способ обозначения переменных экземпляра на разных языках.

1 голос
/ 05 мая 2010

Насколько я знаю, начальное подчеркивание было рекомендованным соглашением для языков без учета регистра, например. VB, обозначая частных членов, обычно встречается вместе с публичной собственностью без подчеркивания.

0 голосов
/ 06 мая 2010

Хотя это, вероятно, не способствует истории origin в обоих случаях ...

В Perl ведущим подчеркиванием является социальный контракт для частного члена бедного человека. В классическом Perl OOP нет закрытых членов, поэтому использование подчеркивания - это средство сообщить, что к этому полю или методу не следует прикасаться, изменять или вызывать напрямую.

На практике я обычно использую завершающее подчеркивание, чтобы воссоздать переменную, как, например, при рефакторинге. Исходная переменная будет занята старым, дрянным интерфейсом, а новая переменная, использующая то же имя, будет использовать блестящий, красивый интерфейс.

var dog = 'golden retriever';
var dog_ = BRD_GOLDEN_RETRIEVER;

process(dog);
Shelter->Process(dog_);

Очевидно, что параллельность носит временный характер. существование собаки_ преходяще.

...