Имена для метапеременных
Метапеременные — это слова-заменители, которые применяются в технических текстах для обозначения чего-либо, что может стоять на их месте, метапеременные часто используются в программировании.
Есть две легендарных метапеременных — это foo и bar . Они прекрасны — короткие, одинаковой длины, отличаются друг от друга, легко произносятся. А вот если нам необходимо больше метапеременных? Тут уже нету чётких правил. Обычно используются baz и bat. Но они имеют существенный недостаток — очень схожее написание с bar. И еще более схожее звучание (при выступлениях глухие буквы в конце часто съедаются и получается «ба» вместо «бар» и«бат»)
var foo = 'fooValue', bar = 'barValue', baz = 'bazValue', bat = 'batValue';
На данном ресурсе сидит огромное количество программистов и я хотел бы предложить отказаться от традиции использовать baz и bat в качестве имени метапеременной, а также обсудить возможность замены их чем-нибудь другим.
Я понимаю, что это уже укореняется, как традиция, но всё-таки, я не понимаю, откуда взялась эта традиция. В больших блоках кода, где постоянно используется две-три похожих переменных начинает возникать путаница, приходится вчитываться в каждую букву.
Предложение высказано после обсуждения в топике «JavaScript. Ядро».
Почему бы не придумать к foo-bar еще набор названий, которые бы отвечали следующим условиям:
— Длина — три буквы
— Кардинально отличаются внешним видом
— Кардинально отличаются произношением
— Легко и чётко произносятся. Должен быть 1 слог.
Например, я предлагаю следующий набор:
foo // фу bar // бар qux // куикс (читать как quux) osе // оуз rol // рол zed // зэд
Quux использовал т.к. он есть традиционной четвертой переменной, и звучит, имхо, лучше, чем qux. Но при этом выбивается из «ритма» трехбуквенных переменных.
var foo = 'fooValue', bar = 'barValue', quux = 'quuxValue', ose = 'oseValue', rol = 'rolValue', zed = 'zedValue'; // vs var foo = 'fooValue', bar = 'barValue', qux = 'quxValue', ose = 'oseValue', rol = 'rolValue', zed = 'zedValue';
Конечно, первое время они будут непривычны, но со временем устаканится набор разных метапеременных, которые хорошо выглядят в коде. Хотелось бы выслушать ваше мнение.
«Foo» и «bar»: как в программировании появились два самых популярных «зарезервированных имени»
Задумывались ли вы о том, откуда в программировании появились «зарезервированные имена» foo и bar? Недавно такой вопрос был задан на Stack Overflow, и, помимо лучшего ответа, мы собрали несколько различных мнений по этому поводу.
На Stack Overflow был задан вопрос:
Вот лучший пользовательский ответ:
Что такое foo
популярное имя для переменных, функций, временных файлов и их примеров в учебниках и руководствах. Часто служит для обозначения текста, который вместо него должен подставить пользователь. Иногда встречается полная форма этого слова — foobar
Англо-русский толковый словарь терминов и сокращений по ВТ, Интернету и программированию. . 1998-2007 .
Смотреть что такое «foo» в других словарях:
- Foo — is a metasyntactic variable used heavily in computer science to represent concepts abstractly and can be used to represent any part of a complicated system or idea including the data, variables, functions, and commands. Foo is commonly used with… … Wikipedia
- Foo — Saltar a navegación, búsqueda Foo es un término genérico ampliamente usado para aludir a cualquier entidad informática cuyo nombre se ignora o no se quiere expresar. Por sí misma la palabra foo no tiene un significado preciso, solamente es una… … Wikipedia Español
- foo|ty — «FUT ee, FOO tee», adjective, ti|er, ti|est, noun, plural ties. Informal. –adj. poor; worthless; trashy. –n. a worthless person or thing … Useful english dictionary
- Foo — Foo, amerikanischer Slangausdruck für etwas völlig Beliebiges. Der Begriff wird von Programmierern oft als provisorischer Name für Variablen oder Dateinamen oder als Texteingabe zu Testzwecken benutzt (vgl. Fred). Die Herkunft des Begriffs ist… … Universal-Lexikon
- Foo — Fubar ist ein Wort aus dem anglo amerikanischen Sprachraum, dessen Herkunft nicht genau bestimmt werden kann. Es ist auch die Schreibweise Foobar verbreitet, die wiederum die Verbindung zweier weiterer undefinierter Wörter, Foo und bar, ist. Mit… … Deutsch Wikipedia
- foo — che·foo; foo; foo·fa·raw; foo·tle; foo·tler; foo·ty; foo·zler; ma·foo; foo·chow; foo·zle; foo·foo·rah; foo·foo·rah; … English syllables
- Foo — Variable métasyntaxique En programmation informatique, une variable métasyntaxique est une variable générique, utilisée dans les exemples pour se concentrer sur le fond plutôt que sur la forme, et dont le nom est choisi pour être tacitement… … Wikipédia en Français
- Foo Go — Infobox Company name = Foo Go type = food manufacturer genre = foundation = 2001 founder = George Robinsoncite news last = Mesure first = Susie title = WH Smith to put sandwiches on the menu publisher = The Independent/Bnet date = Aug 29, 2006… … Wikipedia
- foo — noun /fuː/ a) A metasyntactic variable used to represent an unspecified entity. If part of a series of such entities, it is often the first in the series, and followed immediately by bar. Suppose we have two objects, foo and bar. b) Also foo’.… … Wiktionary
- foo — ● ►en /fou/ np. ►ARGOT Voir foobar. L étymologie de foo est retracée dans la RFC 3092 … Dictionnaire d’informatique francophone
- foo — Fool. May be ghetto slang. Yo, what you be doin foo? Gettin all up on my grill like dat? … Dictionary of american slang
Что такое foo
Метапеременные — это слова, которые используются в программировании для обозначения определенных значений. Две самые популярные из них называют обобщенно foobar. Расскажем, откуда они появились.
Читая код, вы наверняка часто встречали метод бар, который представляет собой самое популярное обозначение. Если вы погуглите «Fubar meaning», то наткнетесь на несколько версий происхождения этого названия.
В проектах, которые мы создали, они тоже встречаются. Да и сложно найти продукты, в коде которых нет ни одного foo bar baz. Правда, третья метапеременная уже не считается каноничной. На многих платформах онлайн ведутся споры о ее применении.
Классические foobar хороши как своей лаконичностью, так и тем, что максимально отличаются друг от друга. А вот baz или bat очень похожи на bar по написанию. А различить их на слух тяжело даже нейтивам.
Если foo bar programming кажется недостаточным, то разработчики придумали список более подходящих имен для переменных. Специалисты веб-услуг и разработкив YuSMP Group готовы сделать для читателей экскурс в историю этих понятий.
Как появился foobar
Как ни странно, это название пришло из американской армии. Там существовал акроним FUBAR, который обозначал тотальное поражение. Во время Второй мировой войны в американских войсках создали целое семейство акронимов. Их активно применяли для описания боевых действий.
В книгах того периода, посвященных высадке в Северной Африки и Сицилии, описаны многочисленные акронимы, помогающие солдатам ярко и емко характеризовать происходящее.
Например, Рик Эткинс писал, что военные будни пробуждали в солдатах как цинизм, так и умение лаконично выражать свои мысли. FOOBAR — было способом рассказать, что все пошло максимально не по плану и обстановка хуже некуда.
Но вернемся к нашей теме. Если вы загуглите «fubar meaning», то, скорее всего, наткнетесь на книги по истории американской армии. Но в какой момент она превратилась в foobar — непонятно.
Согласно одной из версий, само слово изначально писалось через две «О». А в процессе использования оно изменилось, попав под немецкое влияние. В этом языке есть слово «furchtbar», которое обозначает нечто ужасное.
Foobar в наши дни
Сегодня эта пара метапеременных считается наиболее универсальной. То есть его используют разработчики приложений и платформ по всему миру. При этом есть и их менее популярные локальные версии.
Термины foo bar baz могут применяться как логические представления для любых переменных, команд и функций. При этом, нужно отметить, что foobar может использовать и самостоятельно. А вот все три слова применяются, когда нужно обозначить несколько объектов. Причем ими называют переменные именно в таком порядке. Первую — foo, вторую — bar и третью baz.
Еще больше интересных статей о программирование в блоге студии web-разработки YuSMP Group.