namespaceがある言語でもクラス名にプレフィックスをつけることにした
SDKやサードパーティライブラリのそれと重複しそうなクラス名(Userとか)は、プレフィックスをつけるようにしている。たとえ開発言語がnamespaceをサポートしていてもである。
当初はnamespaceをサポートする言語なら、ビルドでコンフリクトすることはないし、プレフィックスをつけないようにしていた。しかしコードの可読性の観点からやっぱりつけることにした。
コンパイラがランタイムエンジンがnamespaceが違うから別のクラスと認識できたとしても、人間がコードを読んで別のクラスと即座に認識できるかは別のことである。だからプレフィックスをつけることにした。
クラス名の前にnamespaceをつけることで、どのnamespaceに属するか明示的にできる言語もあるが、それだと長ったらしくなってしまう。また毎回namespaceをつけるのか、同一ソースコードに重複するクラス名の呼び出しがある時のみnamespaceをつけるのかのルールづけも、人によって揺らぎがあって面倒くさい。
というわけで、重複しそうなクラスには2〜3文字のプレフィックスをつけることを、言語問わず統一のマイルールとした。