名は体をあらわす



 聖徳太子がつかわした遣隋使の「小野妹子」は“男”だと教わったとき、教室がざわめいたのを憶えています。「“いもこ”なのに女じゃないのか?」 同じ小野でも“小野小町”はクレオパトラ、楊貴妃に並ぶ伝説の美女。小町をひらがなにした“こまち”は新幹線の名前やおコメのブランド名ですね。

 ソフトウェアというもの、粋な名前とは縁がありません。プログラムを書くとは、コンピュータへの命令語の羅列を記述することです。プログラム言語は英語が元になっていますから、アルファベットで英語風に書きます。コンピュータはコレを読んで命令を実行していきます。記憶したデータを足し算したり引き算したり、その結果を次の演算のデータとしてまた記憶して…。そうそうプログラムにはデータを記憶する場所はここだよとの記述も要ります。これを変数と呼んでいます。

 コンピュータの命令語は決まっていますが、変数はプログラムを作る人間が名前を付けます。命令語は動詞です。変数はデータを記憶する場所ですから名詞になります。英語風ですので語や語順で命令語か変数か識別できます。が、残念ながら英語に慣れ親しんでいない我々ではそうもいきません。後でプログラムを見たときにその解釈がすんなりできないのです。英語が分からないから、日本語のローマ字で名前をつけるのでなおさらです。

 そこで、変数にはすぐ変数とわかるように接頭辞をつけています。接頭辞といっても言語学にもとづくものではなく、単に“X_”をつけています。例えば“消費税額”のデータを記憶する変数の名前は“X_Shohizei”としています。これで、変数であると一目瞭然になります。なお“X”は算数の方程式の変数エックスの洒落です。

 さて作ったプログラムにも名前を付けます。コンピュータに、ある目的のひとまとまりの動作をさせるのがプログラムですので、名前は英語ふうに動詞+目的語にしています。消費税を計算するプログラムは接頭辞をつけて“F_Calc_Shohizei”なんて具合です。英語の素養がありませんから、動詞はボキャ貧。getとかputとかごく少数。とはいえ、いい加減にはできません。辞書で調べて、聞いたことがある単語にしています(英語言語として好ましい使用法であるかは気にしません)。目的語のほうは日本語のローマ字表記です。消費税を英単語にしても、他のプログラマーが解読できません(本人も辞書が無ければちんぷんかんぷん)。

 それと1つのプログラムで、あれもしてこれもしてと、複合的なことはやらせません。たとえば、金額を合計してそれに消費税をのせるなんて場合。金額を合計するプログラムと消費税を計算するプログラムを別々につくり、上の階層のプログラムがそれらを順次実行するようにします。1つのプログラムは1つの目的をはたすよう単機能にします。プログラムの名前があれもこれもと長ったらしくなってしまうと、いい名前がつけられないのす。

 ですからプログラムは素っ気ない名前になります。かといって装飾しても意味ありません。「しっかり」とか「ていねいに」なんてしてもコンピュータの動きがよくなるわけではありません。プログラム名は何をするのかが明確であることが大事です。ですから、プログラムの目的を追加したり変更するには名前を付け替える覚悟が要ります。

 計算するデータや結果データの保存する場所をデータベースに作ります。その場所の名前も付けますが、ここはローマ字ではなく堂々と日本語を使っています。場所ですから名詞になります。もちろん何を保存しているかはっきりわかる名詞。

 そして、ようやくデータベースとプログラムを組合せてひとつのソフトの出来上がりです。このソフトにも名前付けます。もちろん日本語。ソフトの機能を的確にあらわす言葉をさがします。

 ソフト作りというもの、名前付けだらけ。当社では名前付けの規則(ネーミング・ルール)を定め、ローマ字の表記や接頭辞の意味やつけ方などなど徹底していますが、作る人間が限りなく自由に名前をつけられますから、わかりやすい適切な名前を付けるのが決め手となります。

 「名は体をあらわす」とはよく言ったもので、プログラム作りの格言です。社員が何やらうなって、時に部屋をウロウロ… 「どうした?」「う〜ん、どうプログラムするかはイメージできてるんだけど、名前が決まらないんですよねぇ……」とウロウロ。よくある光景です。

 「消費税」と聞くと消費者に課税されていると思ったのですが、法律は事業者に納税義務となっています。いったいどうなっているんでしょう? 名前からやることがはっきりしないと、プログラマーは困るんですよねぇ…




命令語は決まっています:もちろんプログラム言語によって異なります。→第71報バイリンガル

接頭辞の“F”はプログラムの形式をあらわしています。“Calc”は“calculate”の略

制限といえば、変数やプログラムの名前に使えない文字があること、命令語などコンピュータ側の用意している言葉は使えない、といったところ。

「防衛装備品」は飯盒とか防寒服とか小物だと思っていましたが、銃もミサイルも軍艦も戦車も防衛装備品なんですね。おーこわ。負けたのに「終戦」、占領しにきたのに「進駐軍」、戦争をしかけているのに「国防省」。



↑頁先頭へ