2010-05-05 5 views
1

Что такое общий смысл и где это начинает иметь переменные с ведущих или задней подчёркивания?Каково происхождение/значение этих соглашений об именах переменных?

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

ответ

1

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

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

1

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

0

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

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

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

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

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

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

Смежные вопросы