_Underscores в именах функций

На многих языках с простой способностью OO (PHP 4) или неправильно понимаемыми возможностями OO (Javascript, C с использованием указателей на функции и т. Д.) Вы получите соглашение об именовании функций, в котором используются подчеркивания для указания уровня привилегий.

//ex. function _myPrivateFunction(){ } 

Хотя отдельные команды всегда собираются придумать свои собственные соглашения об именах, подобные этому, конвенция подчеркивания кажется настолько распространенной, что мне было любопытно

  1. Где техника впервые появилась
  2. Если когда-либо существовали какие-либо стандартизованные системы (вроде венгерской нотации), разработанные вокруг конвенции

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

Related of "_Underscores в именах функций"

В мире C ++ имена членов, начинающиеся с подчеркивания, зарезервированы для использования разработчиками компилятора (или низкоуровневыми STL-API). Это не запрещено компиляторами, но это традиция.

Эта ссылка на вики весьма информативна в подчеркивании .

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

В Python префикс имен с подчеркиванием – это больше, чем просто соглашение: Символы, начинающиеся с подчеркивания, не импортируются по умолчанию при импорте «всего» из модуля, поэтому подчеркивание указывает «личное» / «внутреннее использование».

Подчеркивание (_) означает частную / защищенную функцию или переменную.

Не знаю, что ВОЗ действительно придумала это, но я знаю, что он «поддерживается» Zend (и стандартами кодирования Zend).

изменить: http://framework.zend.com/manual/en/coding-standard.naming-conventions.html

-> раздел B.3.4 -> пункт 2

Я впервые увидел это при кодировании C ++. Обычно были отмечены переменные-члены-метки с префиксом «m_».

Я предпочитаю не использовать это, когда пишу Java. Я делаю переменные-члены понятными с помощью «this».

Я видел подчеркивание, используемое как частные функции, и я видел, как подчеркивается как глобальные функции. Также подчеркивание используется для обозначения глобальных переменных внутри самого PHP.

 $_POST $_GET $_SESSION etc.. 

Это просто соглашение об именах, поэтому я бы спросил автора, если он рядом.