一汁三菜

自分が楽しいと思うこと、マラソン、旅行、その他日々の記録をしたい。

名前のつけ方の慣習

プログラムの一部分を抽象化する為の最も基本的な方法の一つとして、「名前をつける」という事があります。

for(; *foo != '\0'; ++foo) {
  if(*foo == bar)
    return foo;
}
return NULL;

というコードは一見すると何をしているのか分かりませんが、

char *strchr(const char *foo, char bar) {
  for(; *foo != '\0'; ++foo) {
    if(*foo == bar)
      return foo;
  }
  return NULL;
}

というように、strchrという名前を与えてやるだけでも、何をする為のコードなのかが自明になります。

ただまあ、この名前のつけかたの慣習って、FORTRANの時代からあまり変わっていないような気がするのですよ。近年だとUnicodeが使えるようになったおかげで、日本語で名前付けを出来るようになっているとはいえ、やはり「文字列中の文字が登場する位置を返す」という処理を表すのにstrchrとかFindCharacterInStringとかfind_character_in_stringっていう、普段使わないような独特な記法をいつまで使い続けるのかなー、とか思います。

もちろん、こういう名前の付け方をしておくのにはそれなりに理由があるわけで、例えば後で名前を使って参照する時にキーボードから打ち込みやすいという利点はかなり大きいと思います。もし何らかの入力補助が当たり前に受け入れられるような状況になれば、もう少し自然な記法で名前づけをするというのも受け入れられるのかもしれないな、とか思います。