foo / bar

folclore

programação

Os nomes-substitutos canônicos em exemplos de programação, usados quando o nome específico não importa.

"foo" e "bar" são variáveis metassintáticas: marcadores que deixam um exemplo focar na estrutura, e não no nome. Sua história está documentada na RFC 3092, que liga o par ao MIT e à gíria FUBAR da Segunda Guerra. Quando você precisa de um terceiro e um quarto, seguem "baz" e "qux".

Foo e bar são os nomes de espaço reservado a que todo programador recorre, e sua história é genuinamente disputada. A derivação mais citada passa por FUBAR, a sigla militar, embora foo apareça de forma independente em desenhos americanos dos anos 1930, bem antes de aquele uso se espalhar, e o Jargon File trate a conexão como provável, e não como estabelecida.

A função deles importa mais que a etimologia. Um nome de espaço reservado precisa ser obviamente sem sentido, para que ninguém que leia um exemplo o confunda com algo significativo, e foo tem a propriedade útil de não carregar associação de domínio alguma. A RFC 3092 existe especificamente para documentar os termos, o que é bom indício de quão fundo eles correm na cultura.

O argumento prático contra eles vale ser feito assim mesmo. Em documentação, foo e bar são custo cognitivo: o leitor precisa segurar dois símbolos arbitrários na memória enquanto segue a lógica, ao passo que nomes como usuário e pedido carregam significado próprio e liberam atenção para o ponto de fato. Espaços reservados são honestos numa especificação de linguagem e preguiçosos num tutorial, e saber qual documento você está escrevendo decide qual usar.

Também conhecido como: foo-bar, foo, bar, metasyntactic variable

Todos os verbetes do glossário