プレフィックスやサフィックスって必要ですか?

 変数名、クラス名、テーブル名、etc... 私はこれらにプレフィックスサフィックスをつけるのが嫌いです。見苦しい割りに大して意味がないと思っているからです。

 そもそも「名前」というのは、それのシステム的な性質では現せないことをあらわすのに用いるものだと私は考えています。

 たとえば、従業員を数えるための変数を int 型で作るとします。これをシステムハンガリアン記法でかけば、「iEmployeeCount」とでもなるでしょう。プレフィックスの i はもちろん int 型をあらわしています。

 さて、この変数。Java だったら、char や byte 型以外の値を入れようとしたらエラーになります(キャストが必要)。また、EmployeeCount という名前を見ただけで、「あ、数えるんだな。じゃあ int 型か」という察しはつきます。つまり、頭の i を見て、ああ、これは int だな int ! なんて気をつける人は大していないと考えられるわけです。


 テーブル名もそうです。サフィックスにテーブルという意味なのか「tbl」なんてつける人がいますが、それはテーブル名であるかぎりは SQL で出てくる場所は決まっている(FROM の後ろとか)ので tbl なんてつけなくても容易に察しがつきます。また、マスタテーブル(私はこの名称がそもそも嫌いだが)だと、「Mst」なんてつけたがる人がいます。では、マスタテーブルだからって、プログラミング上で特に気を使うことなんてあるでしょうか? 私はないと思います。名前を見て挙動を考える必要があるとしたら、それは設計ができていないだけでは? と私は思うのです。


 ということで、プレフィックスサフィックスなんてなくなってしまえばいいと思う今日この頃です。