名前が埋もれていく

Cの函数名

昔のCの函数頭書きは、例えばこんな具合でした。

        int     function(arg1, arg2)
        int     arg1;
        char    arg2;

引数名が2回現れるのが特徴。これを打ち間違えて、例えば

        char    agr2;

などとしてしまうと、「arg2の型がわからないからintにしてしまおう」と コンパイラーが勝手に判断したりしました。

やがて、

        int     function(int arg1, char arg2)

のように、引数名が1回で済むようになりました。

C++の函数名

C++になると、函数の頭書きに書けることが増えてきます。

        int     Hoge::function(const int arg1, Munya & arg2) const

てな具合ですね。つまり、

  1. 函数が属するクラス名の指定が増えた、
  2. 修飾子 const が書ける(Cでも書けるものがあるけど)、
  3. 引数の型にクラスを指定できる

といったことです。そして、クラス名や函数名がだんだん長くなっていく 傾向があります。何をする函数なのかすぐわかるようにしよう、ということで、 それはそれで結構なのですが、全部を1行に書くと見にくくなってきました。

        MunyaMunyaCls *
        HogeHogeCls::TranslateMember(
                const   int     translateMode,
                MunyaMunyaCls & document)

みたいなのが珍しくありません。これは例だからいいかげんな名前だけど、 要するに、できるだけ完全な綴りで、クラス、函数、変数などの役割が 曖昧さなくわかるようにするということです。

函数頭書きの中で函数名が占める面積が相対的に小さくなってきたんですね。

Javaでもっと埋もれていく

Javaでは、いちいち函数の属するクラス名を書かなくてもよくなった代わりに、 修飾子が増えています。

        public  synchronized    MunyaMunyaCls
        run(
                int             translateMode,
                MunyaMunyaCls   document)
                        throws  IOException

みたいな感じ。ここではあえてrun()という短い名前の函数にしてみました。 Thread から継承したクラスにはたいていこれが現れますね。

ここでは行を改めて函数名を書いていますが、 そうしている人はあまり(私のまわりには)いませんね。 戻り値型が函数名より右側に現れるのが気持ち悪いのかな。 プログラムをざっと眺めて函数名を探しにくいように思うんですが。

函数名をもっと目立たせよう

という訳で、函数名がもうちょっと目立って、なおかつあんまり変でない 書式を模索しているんですが、どなたかいいアイディアないですか?