昔のCの函数頭書きは、例えばこんな具合でした。
int function(arg1, arg2) int arg1; char arg2;
引数名が2回現れるのが特徴。これを打ち間違えて、例えば
char agr2;
などとしてしまうと、「arg2の型がわからないからintにしてしまおう」と コンパイラーが勝手に判断したりしました。
やがて、
int function(int arg1, char arg2)
のように、引数名が1回で済むようになりました。
C++になると、函数の頭書きに書けることが増えてきます。
int Hoge::function(const int arg1, Munya & arg2) const
てな具合ですね。つまり、
といったことです。そして、クラス名や函数名がだんだん長くなっていく 傾向があります。何をする函数なのかすぐわかるようにしよう、ということで、 それはそれで結構なのですが、全部を1行に書くと見にくくなってきました。
MunyaMunyaCls * HogeHogeCls::TranslateMember( const int translateMode, MunyaMunyaCls & document)
みたいなのが珍しくありません。これは例だからいいかげんな名前だけど、 要するに、できるだけ完全な綴りで、クラス、函数、変数などの役割が 曖昧さなくわかるようにするということです。
函数頭書きの中で函数名が占める面積が相対的に小さくなってきたんですね。
Javaでは、いちいち函数の属するクラス名を書かなくてもよくなった代わりに、 修飾子が増えています。
public synchronized MunyaMunyaCls run( int translateMode, MunyaMunyaCls document) throws IOException
みたいな感じ。ここではあえてrun()という短い名前の函数にしてみました。 Thread から継承したクラスにはたいていこれが現れますね。
ここでは行を改めて函数名を書いていますが、 そうしている人はあまり(私のまわりには)いませんね。 戻り値型が函数名より右側に現れるのが気持ち悪いのかな。 プログラムをざっと眺めて函数名を探しにくいように思うんですが。
という訳で、函数名がもうちょっと目立って、なおかつあんまり変でない 書式を模索しているんですが、どなたかいいアイディアないですか?