关于不可知的语言:“ foo”的真正含义是什么?

关于不可知的语言:“ foo”的真正含义是什么?

What does 'foo' really mean?

我希望这可以看作是一个编程问题,因为在任何编程教程中,您最终都会在代码示例中遇到" foo"。 (是的,对吧?)

'foo'到底是什么意思?

如果它无意义,什么时候开始使用它?


参见:RFC 3092:" Foo"的词源,D。Eastlake 3rd等。

为简便起见,仅引用该RFC中的相关定义:

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

  • 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]


  • foo用作占位符名称,通常在示例代码中用于表示所命名的对象或名称的选择不属于示例关键所在。如果需要多个这样的名称,通常在foo后跟barbaz甚至bundy。维基百科将这些名称称为元句法变量。 Python程序员应该使用spameggsham,而不是foo等。

    在SA中,foo有很好的用法。

    我还看到foo在程序员无法想到有意义的名称(例如,代替tmp)时使用,但我认为这是对foo的滥用。


    由于" Foo"的定义具有很多含义:

    • 经常将bar和baz混合在一起以制作foobar,barbaz和foobaz这样的单词。
      www.nationmaster.com/encyclopedia/Metasyntactic-variable

    • CML中的主要概念通常直接映射到XMLElements(稍后讨论)。
      wwmm.ch.cam.ac.uk/blogs/cml/

    • 围场中牧场总数的度量,以每公顷牧场干物质的千克表示(kg DM / ha)
      www.lifetimewool.com.au/glossary.aspx

    • 前锋观察官。一支炮兵军官留在步兵营和坦克营中,在前线设立观察哨,从那里可以观察敌军的位置,并将目标的坐标广播到后方的枪支上。
      Members.fortunecity.com/Iniven/definition.htm

    • 是第一个常用的元语法变量。有时将其与bar结合使用以制作foobar。这表明foo可能起源于第二次世界大战的term语fubar,尽管在行话档案中有一个很好的例子,但foo / fould up的首字母缩写却让人无法理解。
      说明-guide.info/含义/Metasyntactic-variable.html

    • Foo是在计算机科学中大量使用的元语法变量,用于抽象地表示概念,并且可以用于表示...的任何部分。
      en.wikipedia.org/wiki/FOo

    • 在Obert Skye的Leven Thumps系列中,Foo是梦想的世界(并非没有)。尽管它有许多原始居民,但它目前的大多数居民都来自Reality,被称为尼特。 ...
      en.wikipedia.org/wiki/Foo(地方)

    • 还有foo’。 T先生口音中的傻瓜(愚蠢的人)代表
      en.wiktionary.org/wiki/foo

    资源:谷歌


    这是一个元句法变量。


    foo =文件或对象。 它用于代替对象变量或文件名。


    我认为这没什么意思。维基说:

    " Foo通常与元语法变量bar和foobar一起使用。"


    在我的同事中," foo"一词的含义(或更准确地说,是使用)一直用作代表名称示例的占位符。 示例包括但不限于yourVariableName,yourObjectName或yourColumnName。

    今天,出于两个原因,我避免使用" foo",而更喜欢使用这种类型的命名替换。

    • 在我早期的日子里,我最初发现在任何示例中使用" foo"作为表示f'd-up的东西都是令人困惑的。 我想要一个可行的例子,而不是愚蠢的东西。

    • 您的结果可能会有所不同,但是我总是100%始终(从不失败)收到更多有关使用" foo"的实际变量的含义的后续问题。

    用英语写的法语f的声音(如:amour fou)[crazy]是foo,不是吗。其他-foobar-> foo,bar-> barfoo-> barfu? (赤脚)。只是f没有牙齿的脚。

    我同意所有人的观点,这些人提到这意味着:完成一份声明/表达式通常不需要什么有趣的东西。


    在我看来,每个程序员都有他或她自己的"单词",每次在编程时需要一个任意单词时都会使用该单词。
    对于某些人来说,这是一首儿童歌曲的第一句话,对于其他人来说,这是它的名字,而对于其他人来说,则是完全不同的东西。
    现在对于程序员社区来说,也有这些"单词",这些单词是" foo"和" bar"。
    这样做的用途是,如果您必须就编程进行公开交流,则不必说要使用套利字,您只需写" foo"或" bar",并且每个程序员都知道这只是任意字。


    推荐阅读