C++の名前空間
C++に限らず、僕は「名前空間」的なスコープ概念が好きなんで、C++でも使ってしまっている。が、これは、名前のスコープが分かりにくくなる、面倒くさくなる、などの理由で他人からは歓迎されないかも知れないなー。
ウーン、、、、
既にあるレガシーコードは、接頭辞を付けている。myprojCopyData() とか Myproj_copyData() のような感じで、myproj の仲間だよ、と示す。クラス名とかも同じ命名法。これなら、myporj::copyData() でいい(のほうがいい)と思うのだが、、、
名前空間と接頭辞が違うのは、名前空間だと修飾子を省略できて、暗黙のスコーピングが使える。もちろん、これがいいところなのだが、「分かりにくいから、やめてくれ」となる。では、毎回 myproj:: を付ければいい、となるが、なんだかウレシクナイ:-<。
現状だと、実際「名前空間、使い過ぎかな」という印象はある。もともと好きだから、過剰使用になる傾向はあるね。
全然使わないのも辛い(心情的に)。妥協案を模索中。