フォルダの階層構造に名前空間を重ねる、これは一体何と呼ばれますか?
最近アルゴリズムサービスを書いていて、twap や vwap のようなモジュールをいくつか展開したところ、またこの古い問題に直面しました。
C++ でクラス名に頼ってセマンティクスを無理やり押し付けると、名前はすぐに制御不能になります。TwapOrderManager、VwapOrderManager、AlgoOrderManager のようなものは、書き進めているうちに「自分の構造が手に負えないことはわかっているけど、とりあえずプレフィックスを付け足しておこう」という感じになってしまいます。端的に言えば、フォルダで階層分けをして、さらに namespace を一つ追加するのは、コードの潔癖症なのではなく、C++ に Java のようなネイティブな package システムがないことによる空隙を埋めているのです。