Tags

1 ページ目

ソフトウェア工学

フォルダの階層構造に名前空間を重ねる、これは一体何と呼ばれますか?

最近アルゴリズムサービスを書いていて、twapvwap のようなモジュールをいくつか展開したところ、またこの古い問題に直面しました。

C++ でクラス名に頼ってセマンティクスを無理やり押し付けると、名前はすぐに制御不能になります。TwapOrderManagerVwapOrderManagerAlgoOrderManager のようなものは、書き進めているうちに「自分の構造が手に負えないことはわかっているけど、とりあえずプレフィックスを付け足しておこう」という感じになってしまいます。端的に言えば、フォルダで階層分けをして、さらに namespace を一つ追加するのは、コードの潔癖症なのではなく、C++ に Java のようなネイティブな package システムがないことによる空隙を埋めているのです。