1. 개요
프로그래밍 상에서 임시로 변수이름을 지정해줘야 할 때 주로 쓰이는 변수 이름이다. foo 외에 bar, baz, Fie, Foe, Fee 등도 함께 쓰이곤 한다.주로 쓰는 이유는 아래와 같다.
- 프로그래밍 언어의 문법상 맞지만, 원래 이름을 가리고 싶을 때
- (질문자가 원하는 것이) 다른 클래스나 변수가 아닌 'foo'에 대한 내용임을 강조할 때
- 코드 스니펫이나 코드 예제 등에서 '당신이 원하는 실제 이름으로 바꿔야 하는 칸' 임을 표시할 때
스택 오버플로에서 흔히 볼 수 있다.
2. 유사 단어
사람이름의 대표예시인 홍길동, (김+)철수/영희계약서나 법률문서의 갑/을/병 등이 있다.
Lorem Ipsum 등은 디자인 분야에서 쓰며, 프로토타이핑 시 세세한 내용에 집중되지 않도록 그럴싸하나 의미없는 문구로 쓰인다.
3. 유래
- 세계 2차대전 당시 미 육군에서 쓰이던 여러 줄임말 중, 알아보지 못할 정도로 개판이 됐다는 뜻인 FUBAR(Fucked Up Beyond All Recognition)에서 Foo와 Bar가 유래했다는 설이 있다.
- 위 설의 변형으로 FUBAR가 사실은 Fucked Up Beyond All Repair (고치지도 못할 정도로 奀됐다.) 의 줄임말이라는 말이 있다.
- For Once Only의 줄임말 이라는 설이 있다. 다른 설들에 비해서 너무 단순하고 근거가 부족해서 인기있는 설 축엔 끼진 못하지만 이것 만큼 딱 떨어지는 뜻을 가진 설도 없는 듯하다.
4. 사용 예
#!syntax cpp
/* C code */
#include <stdio.h>
int main()
{
const char *foo = "Hello";
const char *bar = "World!";
fprintf(stdout, "%s %s\n", foo, bar);
return 0;
}
#!syntax javascript
/* Javascript */
function foo(bar,baz) {
return bar + baz;
}
alert(foo(bar,baz));