7 건의
BACKGROUND KNOWLEDGE 검색결과
  1. 2018.05.02 KOREAPAS


 function foo(){

var x = 1;

if(x > 0)

console.log(x);

else

throw new Error('x must be not negative')

}



프로그래밍을 하시다가, 컴퓨터 관련 서적을 보시다가 foo, foobar, bar, qux 등의 용어들을 많이 보셨을 겁니다. 

대체 이것들이 무슨 뜻일까요?

뜻이 중요하지 않은 녀석들이라는 감은 오는데 확신은 들지 않습니다. 


위키피디아에서 잘 설명해주었는데요, 한번 번역해보겠습니다. 

https://en.wikipedia.org/wiki/Foobar


The terms foobar, fubar, or foo, bar, baz and qux (alternatively, quux) are sometimes used as placeholder names (also referred to as metasyntactic variables) in computer programming or computer-related documentation.

foobar, fubar, foo, bar, baz 그리고 qux(quux로도 쓰임)는 컴퓨터 프로그래밍이나 컴퓨터 관련 자료에서 플레이스홀더(placeholder)로 사용되는 용어들입니다. 


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, when multiple entities are needed.

Foobar는 종종 홀로 사용되고, foo, bar 그리고 bar는 명명이 필요한 대상이 여러개일 때 사용되어 지기도 합니다. 



정리해보자면, 위의 용어들은 아무 의미도 지니지 않은 그저 이름을 붙여야 하기 때문에 관습적으로 쓰여지는 단어들이라는 겁니다. 

개념 설명을 위해, 예시를 들기 위해 변수나 함수에 이름을 지어주어야 할 경우가 있습니다.

그럴 때마다 이름을 생각해서 지어주기에는 상당히 번거롭습니다. 

그래서 특정한 'dummy name'이 필요했을 겁니다. 

누군가 foo, foobar와 같은 용어를 사용하기 시작했고 이것이 퍼지면서 관습이 되었겠죠. 


이해만 하신다면 굳이 사용하시지 않아도 상관없습니다. 

특히나 외국인과 소통할 필요가 없다면 더더욱 그렇습니다.