На многих языках с простой способностью OO (PHP 4) или неправильно понимаемыми возможностями OO (Javascript, C с использованием указателей на функции и т. Д.) Вы получите соглашение об именовании функций, в котором используются подчеркивания для указания уровня привилегий.
//ex. function _myPrivateFunction(){ }
Хотя отдельные команды всегда собираются придумать свои собственные соглашения об именах, подобные этому, конвенция подчеркивания кажется настолько распространенной, что мне было любопытно
Помимо чистого любопытства, я вижу это в нескольких кодовых версиях, с которыми я имею дело прямо сейчас, и я хотел бы понять возможные главные части разработчиков, которые изначально придумали это.
В мире 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..
Это просто соглашение об именах, поэтому я бы спросил автора, если он рядом.