前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >你所不知道的“foo”和“bar”

你所不知道的“foo”和“bar”

原创
作者头像
Jean
发布2018-11-06 21:55:23
17.8K0
发布2018-11-06 21:55:23
举报
文章被收录于专栏:Web行业观察Web行业观察

流传在文档间的程序员默契

“foo” 和“foobar”等单词经常会作为示例名称出现在各种程序和技术文档中。据统计,在各种计算机和通信技术文档中,大约有百分之七的文档出现了这些词语。可是这些文件都没有为它们给出合适的解释。虽然这不是个大问题,但对于初学者,尤其是母语非英语的人来说,这些单词往往会带来不小的迷惑。

“foo” 一词最早出现在一些二战前的漫画和卡通作品中。在关于消防队员的漫画“Smokey Stover”中,作者Bill Holman大量的使用了“foo”一词。这部漫画连载于1930至1952年,在其中,“foo”这个词经常出现在汽车车牌上和一些没有意义的对话中, 例如:“He who foos last foos best”或 “Many smoke but foo men chew”等。根据作者自己介绍,“foo”是根据某种中国的小雕像底部的文字得来的。这听起来很有道理,因为中国的雕像往往都会刻上祝福的文字,而 “foo”可能是“福”的音译。不过英文文法能接纳Holman的“foo”这个编造的单词,也是受了犹太语中“feh”和英文中“fooey”及 “fool”的影响。

在随后的二战中,因为英美士兵经常 用俚语和粗话交流,“foo”一词就被更广泛的传开了。人们把被雷达追踪到的神秘飞行物称为“foo战机”(“foo fighter”),就是后来所谓的UFO。而当英国士兵回防时,往往也会刻下“foo到此一游”(“Foo was here.”)的字眼。

而关于“foobar”,也可以追溯到二战时期军队中的粗话缩写“FUBAR”。“FUBAR”的含义是用到烂再大修(Fucked Up Beyond All Repair),后来演变成了“foobar”。

信手拈来的"哑变量"

其实我们可以把“foo”理解成张三李四, 或者"某某",但真正了解“foo”及“foobar”等词的含义,还是能使我们更好的理解英文文档,避免产生不必要的歧义。

  术语 foobar , foo , bar , baz 和 qux 经常在计算机编程或计算机相关的文档中被用作 占位符 的名字。当变量,函数,或命令本身不太重要的时候, foobar , foo , bar ,baz 和 qux 就被用来充当这些实体的名字,这样做的目的仅仅是阐述一个概念,说明一个想法。这些术语本身相对于使用的场景来说没有任何意义。Foobar经常被单独使用;而当需要多个实体举例的时候,foo,bar,和baz则经常被按顺序使用。

在计算机程序设计与计算机技术的相关文档中,术语foobar是一个常见的无名氏化名,常被作为“伪变量”使用。 从技术上讲,“foobar”很可能在1960年代至1970年代初通过迪吉多的系统手册传播开来。另一种说法是,“foobar”可能来源于电子学中反转的foo信号;这是因为如果一个数字信号是低电平有效,那么在信号标记上方一般会标有一根水平横线,而横线的英文即为“bar”。在《新黑客辞典》中,还提到“foo”可能早于“FUBAR”出现

Hello World 雅俗共赏与时代的变迁

早期还有巴克斯范式(Backus Regular)也是用于规范文档的术语, 但是童年的NFC其中包括了句子间的 `foo' 、 `bar' 或 `foobar' 等变数没有任何恰当的解释或定义. 我们这一代很少在用test123, 你懂得:抖个机灵:Hello World!貌似图灵系的数据 喜欢用 foo+bar! 所以现在的foobar都被拆开来了.

所以说helloworld是用于输出的测试文本, foo和bar就是两个常用的变量名, 这又让我想起了两个常见的对象引用: Bob和Alice(亲切吧,这两个咚咚也曾经迷惑过我!)总之foo和bar作为曾经的教科书常客给我们留下了很多童年回忆, 也给与了我们最珍贵的礼物---程序员的默契与开发者的规范---这才是最值得品味的.

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 流传在文档间的程序员默契
  • 信手拈来的"哑变量"
  • Hello World 雅俗共赏与时代的变迁
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档