编程中Foo和Bar的含义

1 前言

在很多国外计算机书本和一些第三份开源软件的Demo中经常用到两个英文单词Foo,Bar。这到底是什么意思呢?从步入屌丝界的IT生活简单这两个单词到现在我还是不知道这两个单词的真正含义,今天有必要查查总结下。

2 维基百科上的解释

原文:

The terms foobar, foo, bar, baz and qux are sometimes used as placeholder names (also referred to as metasyntactic variables) in computer programming or computer-related documentation.[1] They have been used to name entities such as variables, functions, and commands whose purpose is unimportant and serve only to demonstrate a concept. The words themselves have no meaning in this usage. Foobar is sometimes used alone; foo, bar, and baz are sometimes used in that order, when multiple entities are needed.

译文:

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

本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/project/

3 百度百科上的解释

bar是beyond all recognition的缩写,通俗点就是无法识别,一塌糊涂的意思

foo是fu的变体,fu是英语习语fuck-up的缩写,同样是一团糟的意思

百度百科地址foobar的解释地址

http://baike.baidu.com/link?url=HtHnyAqLEsM9cV0dCPalfFE5jI6GCV-H3xXbaulU6nhW7ccfKQy756KSn1z6OV0UW3Dz_KNSHim0u0ENS8RVZq

4 符合国情的更加通俗的解释

编程里面的foo和bar就是我们小时候写作文里面的小明和小红。写作文的时候,当然情节最重要,花时间去想角色的名字太麻烦了,就干脆叫小明小红好了。

cnblogs 天魂地煞

时间: 2024-08-21 04:22:47

编程中Foo和Bar的含义的相关文章

深入理解JavaScript编程中的原型概念

  这篇文章主要介绍了深入理解JavaScript编程中的原型概念,包括prototype属性的使用等一些相关知识,需要的朋友可以参考下 JavaScript 的原型对象总是让人纠结.即使是经验丰富的JavaScript专家甚至其作者,经常对这一概念给出很有限的解释.我相信问题来自于我们对原型最早的认识.原型总是与new, constructor 以及令人困惑的prototype属性紧密联系.事实上,原型是一个相当简单的概念.为了更好地理解它,我们需要忘记我们所'学到'的构造原型,然后,追本溯源

Python编程中运用闭包时所需要注意的一些地方

  这篇文章主要介绍了Python编程中运用闭包时所需要注意的一些地方,文章来自国内知名的Python开发者felinx的博客,需要的朋友可以参考下 写下这篇博客,起源于Tornado邮件群组的这个问题how to use outer variable in inner method,这里面老外的回答很有参考价值,关键点基本都说到了.我在这里用一些有趣的例子来做些解析,简要的阐述下Python的闭包规则,首先看一个经典的例子: ? 1 2 3 4 5 6 7 8 9 10 11 def foo(

Java编程中更新XML文档的常用方法

xml|编程 本文简要的讨论了Java语言编程中更新XML文档的四种常用方法,并且分析这四种方法的优劣.其次,本文还对如何控制Java程序输出的XML文档的格式做了展开论述. JAXP是Java API for XML Processing的英文字头缩写,中文含义是:用于XML文档处理的使用Java语言编写的编程接口.JAXP支持DOM.SAX.XSLT等标准.为了增强JAXP使用上的灵活性,开发者特别为JAXP设计了一个Pluggability Layer,在Pluggability Laye

第三方库-编程中错误码问题的处理

问题描述 编程中错误码问题的处理 大神们好!本人小菜鸟!请教个问题,我们在调用第三方库进行编程时,调用时对第三方库的错误码该怎么处理呢?求教! 解决方案 根据文档约定,搞清楚每个错误码的含义,收到错误码按照具体的原因对应处理. 解决方案二: 你能做就做,你不能做也没办法.比如说一个字符串解析出错了,你可以忽略,但是如果用户名密码都错了,难道你还有办法么 解决方案三: 尅自己再封装错误码,也可以直接使用.都可以

Java编程中更新XML文档的常用方法_JSP编程

  本文简要的讨论了Java语言编程中更新XML文档的四种常用方法,并且分析这四种方法的优劣.其次,本文还对如何控制Java程序输出的XML文档的格式做了展开论述. JAXP是Java API for XML Processing的英文字头缩写,中文含义是:用于XML文档处理的使用Java语言编写的编程接口.JAXP支持DOM.SAX.XSLT等标准.为了增强JAXP使用上的灵活性,开发者特别为JAXP设计了一个Pluggability Layer,在Pluggability Layer的支持之

PHP编程中尝试程序并发的几种方式总结_php技巧

本文大约总结了PHP编程中的五种并发方式:1.curl_multi_init文档中说的是 Allows the processing of multiple cURL handles asynchronously. 确实是异步.这里需要理解的是select这个方法,文档中是这么解释的Blocks until there is activity on any of the curl_multi connections..了解一下常见的异步模型就应该能理解,select, epoll,都很有名 <?

举例解析Java的设计模式编程中里氏替换原则的意义_java

里氏替换原则,OCP作为OO的高层原则,主张使用"抽象(Abstraction)"和"多态(Polymorphism)"将设计中的静态结构改为动态结构,维持设计的封闭性."抽象"是语言提供的功能."多态"由继承语义实现. 里氏替换原则包含以下4层含义: 子类可以实现父类的抽象方法,但是不能覆盖父类的非抽象方法. 子类中可以增加自己特有的方法. 当子类覆盖或实现父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更

java代码-关于CSDN英雄会挑战赛 java编程中的一些问题

问题描述 关于CSDN英雄会挑战赛 java编程中的一些问题 各位大神,我在挑战英雄会的题目的时候,在线下运行的没有问题,可是一提交就会提示,"挑战失败:你的程序正常编译,不过运行时发生错误,通常是代码有问题,如除数为零数组上下界溢出等" 我觉得可能是java输入数据时的问题,因为题目要求:输入多行数据,输出多行我是这样写的: Scanner scanner = new Scanner(System.in); ArrayList list = new ArrayList(); do {

C++UDP组播编程中,组播地址(组播号)与组播地址的关系是什么?和TCP中IP和端口的关系一样吗?

问题描述 C++UDP组播编程中,组播地址(组播号)与组播地址的关系是什么?和TCP中IP和端口的关系一样吗? C++UDP组播编程中,组播地址(组播号)与组播地址的关系是什么?和TCP中IP和端口的关系一样吗?另外,一台计算机上(不经过路由器或交换机)只能有一个组播吗?急求!!! 解决方案 组播地址和多播地支的关系与TCP中IP和端口的关系不太一样. 首先,网卡查看由信道传送过来的帧,确定是否接收该帧,若接收后就将它传往设备驱动程序.通常网卡仅接收那些目的地址为网卡物理地址或广播地址的帧. 使