【プログラミング】hogeはNG! メタ構文変数はわかりやすく! 【プログラミング】hogeはNG! メタ構文変数はわかりやすく! – みなためラボ

【プログラミング】hogeはNG! メタ構文変数はわかりやすく!


文字サイズ:?? (px)

はじめに:hoge反対派

みなため

どうも! みなため(@MinatameT)です。

まず、プログラミング関連のサイトでよく見かける「hoge」や「foo」などのメタ構文変数には、私は反対の立場です。

その一番の理由は、初心者が見たときにわかりにくいからです。実際のところ、「hoge」や「foo」に特別な意味があるものだと勘違いしてしまう人もいます。

そのような「初心者に不親切なコード」になってしまわないように、工夫することが必要だと考えています。

キャラクター

「hoge離れ」が進んでいくのは、当たり前だと思います。

hogeやfooは初心者に不親切

初心者は「疑問だらけ」。

私がプログラミング初心者の頃、hogeやfooをネットで見かけて「なんだこれ?」という印象をもちました。

その後、メタ構文変数(氏名で言うところの「山田太郎」、「ジョン・スミス」ですね。)であることを理解できたのは良いですが、「これって初心者に厳しい表現では?」という感想をもったわけです。

実際に、ある学校のプログラミングの授業で、教師が「hoge(ホゲ)」と発言すると、学生側は「ホゲってなんだろう?」となった事例があります。

学生にとって、hogeはよくわからない「難しい何か」なのです。hogeに混乱しているのです。

ですから、「hoge」や「foo」を使うのなら、事前にメタ構文変数の説明をしておくべきです。これで、混乱を予防してください。

キャラクター

読者は初心者かもしれません。hogeなどのメタ構文変数を使うときは、しっかりと説明してください。

メタ構文変数を使うときは「わかりやすく」

クリアーになれ!

メタ構文変数を使うとき

それでは、hogeやfooをどうしても使いたい場合、どうすれば良いのでしょうか。

もちろん、hogeなどを使わないことが一番良いのですが、これらを使う場合は「メタ構文変数」についての説明をしてください。

ちなみに、私はメタ構文変数として、a、b、x、y、i、jあたりをよく使っています。これなら、初心者が見ても「メタ構文変数」だと直感的に理解できると思うからです。

メタ構文変数が使えないとき

ただ、なんでもa、bにすれば良いわけではなく、プログラマーとしては、「その変数の役割」が推測しやすい変数名をつけるように心がける必要があります。

これができなければ、一流のプログラマーにはなれないと思っています。

例えば、体重の変数にhogeを使うのはバカか勉強不足の人です。そうではなくて、weightを使うとわかりやすいですよね。

そもそも、意味のない変数名がメタ構文変数ですから、体重の意味がある変数には、メタ構文変数を使うべきではありません

ソースコードで理解する:初心者向けのメタ構文変数

それでは、次のソースコード(一部)を見てください。文法はC言語を想定しています。

int hoge,piyo;
double foo,bar;

初心者がこれを見たとき、「intのhogeってなんだ?!」となるかもしれません。同様に、「doubleのfooってなんだ?!」となるかもしれません。

ですから、次のようにコメントを入れると親切なソースコードになります。

int hoge,piyo; //int型の変数hogeとpiyo
double foo,bar; //double型の変数fooとbar

これなら、初心者にもわかってもらえると思います。いかがでしょうか?

これでも不安なら、

int a;
int b;
double x;
double y;

と記述しておくと良いですね。個人的には、これが一番わかりやすいです。

キャラクター

私がhogeやfooの使用を反対している理由は、わかっていただけたと思います。

おわりに

プログラミング関連の記事で多いのが、初心者への配慮が見られないことです。これは残念なことです。

初心者の気持ちがよくわからないようなプログラマーが「これくらいは説明しなくてもわかるでしょ」と記述したコードは、ほとんどの初心者に理解してもらえないと考えて良いでしょう。

そんなコードが検索結果の上位に表示されている場合もあり、「これを見た初心者は余計に混乱してしまうのでは……」と思ったことがあります。

確かに、「int型とは?」や「if文とは?」などと、いちいち説明していると本題になかなかたどり着きませんから、ある程度の省略は必要です。

しかし、hogeやfooを、aやbに置き換える程度なら、誰でもできますよね。コメントもあれば、より親切になりますね。

こういった細かな配慮は、プログラミングを教える側として、決して忘れてはならないことだと考えています。

おまけ:発音について

hogeは「ホゲ」、piyoは「ピヨ」、fugaは「フガ」と(一般的に)読みます。しかし、個人的に

違和感
  • Hello! I am たかすぎみなため.
  • I can do it. あなたもdo itできるよ.

のような「英文の中に日本語が混ざっている気持ち悪さ」があるため、あえて、次のように読んでいます。

それっぽい発音
  • hoge:ホウジ
  • piyo:パイヨ
  • fuga:フューガ

発音記号についてはよくわかりませんので書きませんが、英語っぽい発音になりそうですよね。英語に詳しい方は「こういう発音のほうが英語に近いよ!」と思っていらっしゃるかもしれませんが……。

どのような発音であっても、私はhogeやfugaを使いませんが、読むときはこのように読んでいる……という個人的なお話でした(笑)。

記事本文下のバナー広告

この記事をSNSでシェアする

 

プログラミングカテゴリーの最新記事(5件)

管理人のTwitter

Tweets by MinatameT

内部リンク集

広告枠のレンタルの詳細はこちら!
記事作成のご依頼の詳細はこちら!