Термины foobar ( / ˈ f uː b ɑːr / ), foo , bar , baz и другие используются в качестве метасинтаксических переменных и имен-заполнителей в компьютерном программировании или документации, связанной с компьютером. [1] Они использовались для именования таких объектов, как переменные , функции и команды , точная идентичность которых не важна и которые служат только для демонстрации концепции. Руководство по стилю документации для разработчиков Google не рекомендует использовать их в качестве примеров названий проектов, поскольку они неясны и могут вызвать путаницу. [2]
Вполне возможно, что foobar — это шутливый намек [3] на военный сленг времен Второй мировой войны FUBAR ( облажался до неузнаваемости) . [3]
По данным RFC Инженерной группы Интернета , слово FOO возникло как бессмысленное слово , самое раннее задокументированное использование которого произошло в комиксе Билла Холмана «Смоки Стовер» 1930-х годов . [4] Холман утверждает, что он использовал это слово, потому что видел его на дне нефритовой китайской статуэтки в китайском квартале Сан-Франциско , что якобы означает «удачу». [5] Если это правда, то это, предположительно, связано с китайским словом fu («福», иногда транслитерируемым foo , как в foo Dog ), которое может означать счастье или благословение . [6]
Первое известное использование этих терминов в печати в контексте программирования появилось в выпуске журнала Tech Engineering News Массачусетского технологического института за 1965 год . [7] Использование foo в контексте программирования обычно приписывают Клубу технических моделей железных дорог (TMRC) Массачусетского технологического института примерно с 1960 года. [1] В системе сложной модели были аварийные выключатели, расположенные во многих местах по всему помещению, которые можно было бросить, если должно было произойти что-то нежелательное, например, поезд, движущийся на полной мощности к препятствию. Еще одной особенностью системы были цифровые часы на диспетчерском пульте. Когда кто-то нажимал на аварийный выключатель, часы останавливались, и на дисплее появлялось слово «FOO»; Поэтому в TMRC переключатели аварийного отключения называются «переключателями Foo». По этой причине запись в Словаре языка TMRC 1959 года выглядела примерно так: «FOO: первый слог неправильно процитированной фразы священного песнопения « фу мане падме хум ». Наша первая обязанность — следить за тем, чтобы счетчики foo работали». [8] Одна книга [ какая? ] описывая зал поезда Массачусетского технологического института, описывает две кнопки у двери с надписью «foo» и «bar». Это были кнопки общего назначения, и их часто перепрофилировали под любую забавную идею, которая пришла в голову хакерам MIT в то время, отсюда и принятие foo и bar в качестве имен переменных общего назначения. Запись в Сокращенном словаре языка TMRC гласит: [9]
Мультифлеш: кнопка остановки всех поездов. Следующая лучшая вещь после красной дверной кнопки. Также называется ФОО. При использовании на часах отображается надпись «FOO».
Foobar использовался в качестве имени переменной в коде Fortran игры Colossal Cave Adventure (версия Crowther and Woods 1977 года). Переменная FOOBAR использовалась для хранения прогресса игрока в произнесении волшебной фразы «Fee Fie Foe Foo», фразы из исторического четверостишия классической английской сказки « Джек и бобовый стебель» . Intel также использовала термин foo в своей документации по программированию в 1978 году. [10]
Убедитесь, что имя применимо к среде пользователя.
Не используйте неясные термины, такие как foo, bar и baz.
Далее можно искать эффективный адрес;
например, если использовалась такая инструкция, как «добавить 1 foo», определяющая косвенную адресацию через местоположение «foo», а местоположение «foo» содержало адрес местоположения «foobar», то эффективный поиск слова «foobar» нашел бы местоположение «foo», а также местоположение, содержащее инструкцию «add».