クラス名のつけ方で接頭辞とか2010/02/22うちの職場の規約でもそうなんですけれど,クラスライブラリを作るときに,「クラス名に接頭辞(prefix)を付けること」というもんがあります。うちの職場だけでなく,ネット上で見つけられる有名なコーディング規約でも,「付けること」としているものが割とある。これ,どういう意味があるんだろう。クラスライブラリの接頭辞というのは,クラスライブラリ間で共通する文字列をクラス名の頭につけるということです。ライブラリの場合,必ず接頭辞に"Q"が付きます。"QApplication"とか"QDialog"といった具合。これ,今でも有効な規約なんだろうか。ゆことかというと,こゆのって,名前空間で切り分けるような話なんでねいの?と思うんだけれども,どうなんだろう。付けることになります。こっちの方がカッコイイと思うんだけれども......いや,カッコイイとか言っちゃだめですね,こっちのほうが論理的に命名できると思うんだけれども,接頭辞を使わずに名前空間使っちゃいかん理由はあるのだろうか。接頭辞を使うのが(あまり)論理的でないと思うのは,クラス名に意味不明の(プログラム外の事情に基づく)文字列を導入する理由がよく分からんということです。ぶっちゃけた話,悪名高きハンガリアン記法よりも根拠がないと思う。勝手につけられるから接頭辞に唯一性もない。場合は,いまだにパッケージ名とクラス名がくっついて,クラス名になっている。名前空間はあるものの,あまり使われてない。処理系側の対応が不十分だってのもあるんでしょうけど,そろそろ,この規約は無くした方がいいんじゃないだろうか。先日,この点について知り合いに話したんですけど,「だって名前空間指定するの面倒ジャン」だって。