Что на самом деле означает «foo»? - PullRequest
220 голосов
/ 10 сентября 2008

Я надеюсь, что это квалифицируется как вопрос программирования, как и в любом руководстве по программированию, вы в конечном итоге встретите 'foo' в примерах кода. (да, верно?)

что на самом деле означает "foo"?

Если это должно означать ничего , когда оно стало использоваться таким образом?

Ответы [ 9 ]

131 голосов
/ 19 февраля 2009

См .: RFC 3092: этимология "Foo", D. Eastlake 3rd et al.

Для краткости приводим только соответствующие определения из этого RFC:

  1. Очень часто используется в качестве имени образца для чего угодно, особенно. программы и файлы (особенно скретч-файлы).

  2. Первый в стандартном списке метасинтаксических переменных, используемых в примеры синтаксиса (bar, baz, qux, quux, corge, grault, garply, Уолдо, Фред, Плаг, Xyzzy, Thud). [Жаргон]

42 голосов
/ 12 сентября 2008

foo используется в качестве имени заполнителя, обычно в примере кода, чтобы показать, что именуемый объект или выбор имени не является частью сути примера. За foo часто следуют bar, baz и даже bundy, если требуется более одного такого имени. Википедия называет эти имена Метасинтаксические переменные . Программисты Python предположительно используют spam, eggs, ham вместо foo и т. Д.

В SA есть хорошее использование foo .

Я также видел, как foo использовался, когда программист не может придумать значимого имени (скажем, вместо tmp), но я считаю, что это неправильное использование foo.

19 голосов
/ 10 сентября 2008

Как определение "Foo" имеет много значений:

  • bar и baz часто составляются из слов foobar, barbaz и foobaz. www.nationmaster.com / Энциклопедия / метасинтаксическую переменной

  • Основные понятия в CML, обычно отображаемые непосредственно на элементы XMLE (будут обсуждаться позже). wwmm.ch.cam.ac.uk / блоги / CML /

  • Измерение общего количества пастбищ в загоне, выраженное в килограммах сухого вещества пастбища на гектар (кг DM / га) www.lifetimewool.com.au / glossary.aspx

  • Сотрудник по наблюдению вперед. Артиллерийский офицер, который остался в составе пехотных и танковых батальонов, чтобы установить наблюдательные посты на линии фронта, с которых можно было наблюдать позиции противника и передавать координаты целей на орудия, расположенные дальше в тылу. members.fortunecity.com / lniven / definition.htm

  • - первая широко используемая метасинтаксическая переменная. Иногда это сочетается с баром, чтобы сделать foobar. Это говорит о том, что foo, возможно, произошло от сленга Второй мировой войны fubar, как сокращение от f ucked / f ouled u p b eyond a ll r , хотя Jargon File делает довольно хороший пример ... explanation-guide.info / значения / метасинтаксический-variable.html

  • Foo - это метасинтаксическая переменная, широко используемая в информатике для абстрактного представления концептов, и может использоваться для представления любой части ... en.wikipedia.org / вики / Foo

  • Foo - это мир мечты (нет, это не так) в серии Левена Громов Оберта Скай. Хотя у него много оригинальных жителей, большинство его нынешних обитателей - из Реальности и известны как гниды. ... ru.wikipedia.org / wiki / Foo (место)

  • Также foo ’. Представление дурака (глупый человек), в акценте мистера Т en.wiktionary.org / вики / Foo

Ресурс: Google

12 голосов
/ 10 сентября 2008
8 голосов
/ 06 апреля 2016

foo = Файл или Объект. Он используется вместо переменной объекта или имени файла.

8 голосов
/ 10 сентября 2008

Я думаю, это ничего не значит. Вики говорят:

"Foo обычно используется с метасинтаксическими переменными bar и foobar."

3 голосов
/ 14 марта 2015

Среди моих коллег значение (или, возможно, точнее - использование ) термина "foo" должно было служить заполнителем для представления примера имени, Примеры включают, но не ограничиваются: yourVariableName , yourObjectName или yourColumnName .

Сегодня я избегаю использования "foo" и предпочитаю использовать этот тип подстановки с именем по нескольким причинам.

  • В мои ранние дни я изначально находил использование «foo» в качестве места размещения в любом примере, чтобы представить что-то как f-up, чтобы сбить с толку. Я хотел рабочий пример, а не то, что было foobar.
  • Ваши результаты могут отличаться, но я всегда, 100%, каждый раз, никогда не терпел неудачу, получал больше дополнительных вопросов о значении фактической переменной, где использовался «foo».
3 голосов
/ 10 мая 2010

Звук французского фу (вроде: amour fou) [сумасшедший], написанный на английском языке, будет фу, не так ли. Еще furchtbar -> foobar -> foo, bar -> barfoo -> barfuß (босиком). Просто фу. Нога без зубов.

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

3 голосов
/ 10 сентября 2008

По моему мнению, у каждого программиста есть свои «слова», которые используются каждый раз, когда вам нужно произвольное слово при программировании. Для некоторых это первые слова из детской песни, для других - названия, а для других - нечто совершенно другое. Теперь для сообщества программистов есть и эти «слова», и это слова «foo» и «bar». Использование этого в том, что если вам нужно публично сообщить о программировании, вам не нужно говорить, что вы будете использовать произвольные слова, вы просто напишите «foo» или «bar», и каждый программист знает, что это просто произвольные слова.

...