【ほげ】

ホゲ とは?

💡 日本式の「foo/bar」、サンプルコードで使う意味なし仮変数名の代表
📌 このページのポイント
プレースホルダー変数の比較 日本語圏 英語圏 hoge 最初の変数名 foo 最初の変数名 fuga 2番目の変数名 bar 2番目の変数名 piyo 3番目の変数名 baz 3番目の変数名 ※ サンプルコードや仮の変数名に使われる「意味のない名前」
日本語と英語のプレースホルダー変数の対応
ひよこ ひよこ

ホゲって何?

ペンギン先生 ペンギン先生

日本のプログラマがサンプルコードや説明で使う「仮の名前」。英語圏のfoo・barに相当する。「hogeというDBテーブルがあるとして…」「let hoge = 'test'」のように、説明に使う意味のない仮の識別子として使われる。

ひよこ ひよこ

ふがとかぴよとか聞いたことある

ペンギン先生 ペンギン先生

そう、「ほげ・ふが・ぴよ」はセットで使われることが多い。英語のfoo・bar・bazに対応する。変数が1つなら「hoge」、2つ目が必要なら「fuga」、3つ目が必要なら「piyo」を使う慣習がある。

ひよこ ひよこ

業務コードに書いちゃダメなの?

ペンギン先生 ペンギン先生

絶対ダメ。変数名は「その変数が何を表すか」を伝える重要なドキュメント。hogeが実際のコードにあると「このコードの意味は何?」と混乱する。レビューでhogeが見つかったら即コメントが付く。命名は「userName」「productId」のように意味のある名前を使うこと。

ひよこ ひよこ

海外のエンジニアと仕事するときもhogeって使っていいの?

ペンギン先生 ペンギン先生

通じないから使わない方がいいよ。海外ではfoo・bar・baz・quxが標準的なメタ構文変数。コードレビューや国際チームでhogeを見かけて「何の意味?」と困惑されるケースがあるから、英語環境ではfoo/barを使おう。

ひよこ ひよこ

他の国にも独自のメタ構文変数ってあるの?

ペンギン先生 ペンギン先生

あるよ!フランスでは「toto・titi・tata」、イタリアでは「pippo・pluto・paperino」(ディズニーキャラの名前)が使われる。中国語圏では「甲乙丙丁」を使うこともある。メタ構文変数にはその国のプログラミング文化が反映されていて面白いんだ。日本のhoge文化は1980年代のfjニューズグループから広まったと言われているよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
ホゲって出てきたら「日本のプログラマが使うサンプルコードの仮変数名、英語のfoo/barに相当」と思えばOK!
📖 おまけ:英語の意味
「ホゲ (Hoge)」 = 意味のない仮の名前(メタ構文変数)
💬 起源は諸説あり不明確。1980〜90年代の日本のプログラマコミュニティで自然発生的に広まったとされる。「ほげる(動作がおかしくなる)」という動詞としての用法もある
← 用語集にもどる