namespaceがある言語でもクラス名にプレフィックスをつけることにした

SDKやサードパーティライブラリのそれと重複しそうなクラス名(Userとか)は、プレフィックスをつけるようにしている。たとえ開発言語がnamespaceをサポートしていてもである。

当初はnamespaceをサポートする言語なら、ビルドでコンフリクトすることはないし、プレフィックスをつけないようにしていた。しかしコードの可読性の観点からやっぱりつけることにした。

コンパイラがランタイムエンジンがnamespaceが違うから別のクラスと認識できたとしても、人間がコードを読んで別のクラスと即座に認識できるかは別のことである。だからプレフィックスをつけることにした。

クラス名の前にnamespaceをつけることで、どのnamespaceに属するか明示的にできる言語もあるが、それだと長ったらしくなってしまう。また毎回namespaceをつけるのか、同一ソースコードに重複するクラス名の呼び出しがある時のみnamespaceをつけるのかのルールづけも、人によって揺らぎがあって面倒くさい。

というわけで、重複しそうなクラスには2〜3文字のプレフィックスをつけることを、言語問わず統一のマイルールとした。