Что на самом деле означает «foo»?

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

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

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

Вопрос, связанный с предыдущим комментарием, по-видимому, был удален. Он по-прежнему доступен в неофициальном архиве удаленных вопросов: stackoverflow.hewgill.com/questions/262/271.html. см. также связанный удаленный вопрос: stackoverflow.hewgill.com/questions/163/229.html

HugoRune 01.02.2013 23:13
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
237
1
159 401
9
Перейти к ответу Данный вопрос помечен как решенный

Ответы 9

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

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

Поскольку определение «Foo» имеет много значений:

  • bar и baz часто соединяются вместе, чтобы образовать такие слова, как foobar, barbaz и foobaz. www.nationmaster.com/encyclopedia/Metasyntactic-variable

  • Основные концепции CML, обычно отображаемые непосредственно на XMLElements (будут обсуждены позже). wwmm.ch.cam.ac.uk/blogs/cml/

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

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

  • - первая широко используемая метасинтаксическая переменная. Иногда его комбинируют с bar для создания foobar. Это говорит о том, что foo, возможно, произошел от сленгового термина fubar времен Второй мировой войны как аббревиатуры от жucked / жouled тыp бб>eyond аll рecognition, хотя жаргонный файл является довольно хорошим примером ... объяснение-guide.info/meaning/Metasyntactic-variable.html

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

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

  • Также foo ’. Изображение дурака (глупого человека) с акцентом мистера Т. en.wiktionary.org/wiki/foo

Ресурс: Google

Отличный ответ, но, наверное, стоит поставить ссылку на запись файла жаргона: catb.org/jargon/html/F/foo.html

Dave Webb 10.09.2008 12:35

Результаты Google - это не ответ

nialljsmith 10.09.2008 16:08

Результаты Google не являются ответом << Я не понимаю. Так что же тогда ответ? если вы думаете об одном? без гарантии? или мне надо сюда закинуть актуальные ссылки на массу сайтов? Я думаю, что stackoverflow должен иметь все в одном месте, а не только ссылки на другие сайты, таким образом я разместил все это в одном потоке.

Lukas Šalkauskas 12.09.2008 21:58

Эй, если вы собираетесь публиковать все ответы, не связанные с программированием, почему вы не упомянули слово «foo-fighter», которое пилоты Второй мировой войны называли НЛО, которые они видели и не могли идентифицировать, но предполагали, что это вражеские истребители?

Kmeixner 25.04.2017 22:45

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

Если «все» это знают, почему так много людей спрашивают о значении «foo», «bar» и «foobar»? Пракаш не первый, кто спрашивает. IMO foo, bar и foobar не интуитивно понятны, как a, b, c, tmp, X, Y, Z, var и func, поэтому я думаю, что многие pe

Anders Sandvig 10.09.2008 16:07

Хм .. Это только у меня, или рендеринг длинных комментариев сломан? Во всяком случае, остальное было «... почему я думаю, что многих людей они отвлекают».

Anders Sandvig 10.09.2008 16:08

Да, вы превысили лимит в 300 символов для комментария;) но спасибо!

prakash 11.09.2008 13:11

Я, наверное, просто слишком сильно запутался в сообществе разработчиков ;-)

khebbie 12.09.2008 13:56

Я нашел (и считаю) их отвлекающими. Когда я впервые пытался расшифровать питон, я решил, что они гораздо более значимы, чем они есть на самом деле. Может быть, функция или какая-то часть синтаксиса. Хотя у меня была такая же проблема с такими вещами, как ** kwargs. Я инстинктивно пытаюсь запомнить такие вещи. До того, чтобы записать это. Пока кто-то не сказал мне: «Неважно, какую фразу вы используете, если у вас есть **». По крайней мере, "kwargs" имеет смысл, если вы понимаете, что оно означает. Такие вещи, как «foo», просто «мистичны» до степени смешения. Они чувствуют себя обидчиками ради обид.

OmikronWeapon 05.05.2020 12:23

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

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

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

Ответ принят как подходящий

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

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

  1. Used very generally as a sample name for absolutely anything, esp. programs and files (esp. scratch files).

  2. First on the standard list of metasyntactic variables used in syntax examples (bar, baz, qux, quux, corge, grault, garply, waldo, fred, plugh, xyzzy, thud). [JARGON]

О, это просто круто. У них есть RFC для Foo.

Mark Tomlin 10.05.2010 09:08

Марк Томлин, посмотрите на дату в этом RFC.

Windows programmer 10.05.2010 09:17

Что такое RFC ;-)?

Bastien Vandamme 08.06.2012 01:29

@Pentarex Что такое RTFM ;-)?

CodesInChaos 14.03.2015 16:42

RFC - «Документы с просьбой о комментариях были изобретены Стивом Крокером в 1969 году для помощи в записи неофициальных заметок о развитии ARPANET. С тех пор они стали официальным документом для Интернет-спецификаций, протоколов, процедур и событий». Источник: http://www.livinginternet.com

ZygD 29.11.2015 13:11

Зачем использовать термин «foo», если можно использовать более информативный термин (например, «test» или «temp»)? Может быть, это одна из тех культурных особенностей - программисты считают, что используют старый жаргон, как будто foo дает им «уличное доверие».

RobertF 12.02.2019 23:30

Мы здесь не для краткости. В RFC также говорится: «При использовании в связи с bar' it is generally traced to the WW II era Army slang acronym FUBAR (Fucked Up Beyond All Repair '), позже преобразованный в foobar».

Melinda Green 14.12.2020 15:00

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

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

Мне нравится сравнение с другими языками и их разные значения :-D

Matt 15.01.2020 12:04

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

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

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

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

Другие вопросы по теме