'Foo' gerçekten ne anlama geliyor?


232

Umarım bu bir programlama sorusu olarak nitelendirilir, herhangi bir programlama dersinde olduğu gibi, sonunda kod örneklerinde 'foo' ile karşılaşırsınız. (evet, değil mi?)

'foo' gerçekten ne anlama geliyor?

Hiçbir şey ifade etmiyorsa , ne zaman kullanılmaya başlandı?


Önceki yorumda bağlantılı soru görünüşe göre silindi. Silinen soruların resmi olmayan arşivinde hala mevcuttur: stackoverflow.hewgill.com/questions/262/271.html . ayrıca bu ilgili silinmiş soruya bakın: stackoverflow.hewgill.com/questions/163/229.html
HugoRune

1
Bu soru konu dışı gibi görünüyor çünkü Etimoloji ile ilgili
bummi

1
Yardım merkezinde tanımlanan kapsam dahilinde programlama ile ilgili olmadığından, bu soru konu dışıdır.
l4mpi

3
Bu soruyu konu dışı olarak kapatmak için oy kullanıyorum çünkü bu bir programlama sorunu değil.
16'da

Yanıtlar:


138

Bakınız: RFC 3092: "Foo" nun etimolojisi, D. Eastlake 3rd ve diğ.

Kısaca bu RFC'den ilgili tanımlardan alıntı yapmak:

  1. Çok genel olarak kesinlikle her şey için örnek adı olarak kullanılır, esp. programlar ve dosyalar (özellikle çizik dosyaları).

  2. İlk olarak sözdizimi örneklerinde kullanılan standart metasintaktik değişkenler listesinde (bar, baz, qux, quux, corge, grault, garply, waldo, fred, plugh, xyzzy, thud). [JARGON]


25
Oh, bu sadece harika. Foo için bir RFC var.
Mark Tomlin

5
Mark Tomlin, o RFC'deki tarihe bakın.
Windows programcısı

6
RFC ;-) nedir?
Bastien Vandamme

1
@Pentarex RTFM ;-) nedir?
CodesInChaos

3
RFC - "Yorum İsteği belgeleri, ARPANET'in gelişimi ile ilgili resmi olmayan notların kaydedilmesine yardımcı olmak için 1969'da Steve Crocker tarafından icat edildi. O zamandan beri İnternet özellikleri, protokolleri, prosedürleri ve olayları için resmi kayıt haline geldiler". Kaynak: http://www.livinginternet.com
ZygD

44

fooyer tutucu adı olarak kullanılır; genellikle örnek kodda, adlandırılan nesnenin veya ad seçiminin, örneğin temel noktasının bir parçası olmadığını belirtmek için kullanılır. foogenellikle takip eder bar, bazve hatta bundybirden fazla isim gerekiyorsa. Wikipedia bu isimleri Metasyntaktik Değişkenler olarak adlandırır . Python programcıları sözde kullanmak spam, eggs, ham, yerine foovs.

SA'da foo'nun iyi kullanımları vardır .

fooProgramcı anlamlı bir isim düşünemediğinde de kullanıldığını gördüm (bunun yerine tmp, söyle), ama bunun bir yanlış kullanımı olduğunu düşünüyorum foo.


22

"Foo" tanımının anlamı çoktur:

  • bar ve baz, foobar, barbaz ve foobaz gibi kelimeler yapmak için genellikle bir araya getirilir. www.nationmaster.com/encyclopedia/Metasyntactic-variable

  • KML'deki temel kavramlar, genellikle doğrudan XMLElements üzerine eşlenir (daha sonra tartışılacaktır). wwmm.ch.cam.ac.uk/blogs/cml/

  • Bir padoktaki toplam mera miktarının ölçümü, hektar başına kilogram mera kuru maddesi (kg DM / ha) olarak ifade edilir www.lifetimewool.com.au/glossary.aspx

  • İleri Gözlem Görevlisi. Piyade ve tank taburları ile kalan ve ön sıralarda düşman pozisyonlarını gözlemleyecek ve hedeflerin koordinatlarını arkada silahlara telsizleyecek gözlem direkleri kurmak için topçu subayı. members.fortunecity.com/lniven/definition.htm

  • yaygın olarak kullanılan ilk metasintaktik değişkendir. Foobar yapmak için bazen çubukla birleştirilir. Bu bir kısaltması olarak, o foo Dünya Savaşı II argo terimi fubar ile ortaya çıkmış olabilir anlaşılacağı f ucked / f ouled u p b eyond bir ll r Jargon Dosyası kolay bir vaka ... yapsa da, eCognition yazılımındaki açıklama-kılavuzu. bilgi / anlam / Albert Einstein adlı-variable.html

  • Foo soyut kavramları temsil etmek bilgisayar bilimi yoğun kullanılan bir Albert Einstein adlı değişkendir ve bir herhangi bir bölümünü temsil etmek için kullanılabilir ... en.wikipedia.org/wiki/FOo

  • Foo, Obert Skye'ın Leven Thumps serisinde hayal dünyasıdır (hayır değil). Birçok asıl nüfusa sahip olmasına rağmen, şu anki sakinlerinin çoğu Reality'den ve nit olarak biliniyor. ... en.wikipedia.org/wiki/Foo (yer)

  • Ayrıca foo '. Aptalın (aptal kişi) temsili, Bay T aksanıyla en.wiktionary.org/wiki/foo

Kaynak: google


Harika bir yanıt ama muhtemelen Jargon dosya girişine bir bağlantı koymaya değer: catb.org/jargon/html/F/foo.html
Dave Webb

Google sonuçları bir cevap değil
nialljsmith

2
Google sonuçları bir cevap değil << Alamadım. O zaman cevap nedir? birini düşünürsen? garanti yok mu? ya da buraya sitelerin kitlesine gerçek bağlantılar bırakmalıyım? Ben stackoverflow sadece diğer sitelere bağlantılar değil, tek bir yerde şeyler olması gerektiğini düşünüyorum, bu şekilde tüm bu bir iş parçacığına gönderdi.
Lukas Šalkauskas

Hey, eğer programlamayla ilgili olmayan tüm cevapları gönderecekseniz, İkinci Dünya Savaşı pilotlarının gördükleri ve tespit edemedikleri ancak düşman savaşçıları olduklarını tahmin ettikleri UFO'lara "foo-fighter" adını neden bıraktınız?
Kmeixner



7

Bence hiçbir şey ifade etmiyor. Wiki diyor ki:

"Foo yaygın olarak metasintaktik değişkenler çubuğu ve foobar ile kullanılır."


3

Fransızca yazılmış fou, (gibi: amour fou) [deli] İngilizce yazılmış, foo olurdu, olmaz. Else furchtbar -> foobar -> foo, bar -> barfoo -> barfuß (yalınayak). Sadece fou. Dişsiz ayak.

Herkesin katılıyorum, bundan bahseten şu anlama geliyor: ilginç bir şey, sadece bir şey, genellikle bir ifadeyi / ifadeyi tamamlamak için gerekli.


Diğer dillerle karşılaştırmayı seviyorum ve farklı anlamları :-D
Matt

3

Meslektaşlarım arasında, "foo" teriminin anlamı (veya belki de daha doğru bir şekilde - kullanımı ), bir isim örneği temsil etmek için bir yer tutucu olarak hizmet etmek olmuştur . Örnekler arasında ancak bunlarla sınırlı olmamak üzere DeğişkenAdınız , NesneAdınız veya SütunAdınız bulunur .

Bugün, "foo" kullanmaktan kaçınıyorum ve birkaç nedenden dolayı bu tür adlandırılmış ikame kullanmayı tercih ediyorum .

  • Daha önceki günlerimde, başlangıçta kafa karıştırıcı olmak için bir şeyi temsil etmek için herhangi bir örnekte "foo" kullanımını buldum. Foobar olan bir şey değil, çalışan bir örnek istedim.
  • Sonuçlarınız değişebilir, ancak her zaman,% 100, her zaman, asla başarısız olamadım, "foo" nun kullanıldığı gerçek değişkenin anlamı hakkında daha fazla takip sorusu aldım.

2

Bence her programcı, programlama sırasında her zaman rastgele bir kelimeye ihtiyaç duyduğunuzda kullanılan kendi "kelimelerine" sahiptir. Bazı insanlar için bir çocuk şarkısının ilk sözleri, diğerlerinin isimleri ve diğerleri için tamamen farklı bir şey. Şimdi programcı topluluğu için bu “kelimeler” de var ve bu kelimeler 'foo' ve 'bar'. Bunun kullanımı, programlama hakkında halka açık bir şekilde iletişim kurmanız gerekiyorsa, hakem sözcüklerini kullanacağınızı söylemeniz gerekmiyorsa, sadece 'foo' veya 'bar' yazacağınız ve her programcı bunun sadece keyfi kelimeler olduğunu biliyor.


2
"Herkes" bunu biliyorsa, neden bu kadar çok insan "foo", "bar" ve "foobar" ın anlamını soruyor? Prakash soran ilk kişi değil. IMO foo, bar ve foobar sezgisel değil, a, b, c, tmp, X, Y, Z, var ve func, bu yüzden bence pek çok pe
Anders Sandvig

Hım .. Sadece ben miyim, yoksa uzun yorumların yapılması kırık mı? Her neyse, gerisi "... neden birçok insanın dikkat dağıtıcı bulduklarını düşünüyorum."
Anders Sandvig

1
Evet, bir yorum için 300 karakter sınırınızı aştınız;) ama teşekkürler!
prakash

Muhtemelen sadece geliştirici topluluğuna çok derin
karıştım

Onları rahatsız edici buldum (ve buldum). Özellikle python'u ilk kez deşifre etmeye çalışırken, onlardan çok daha anlamlı olmalarını sağladım. Belki bir işlev veya sözdiziminin bir kısmı. Rağmen ** kwargs gibi şeylerle aynı sorunu vardı. İçgüdüsel olarak böyle şeyleri ezberlemeye çalışıyorum. Yazma noktasına kadar. Birisi bana "** olduğu sürece hangi ifadeyi kullandığınız önemli değil" diyene kadar. En azından "kwargs" ne anlama geldiğini anladığınızda mantıklı. "Foo" gibi şeyler kafa karıştırıcı bir şekilde 'mistik'. Onlar enjekte uğruna enjeksiyon gibi hissediyorlar.
OmikronWeapon
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.