名前空間替わりのプレフィックス

あるシステムが業務ごとにサブシステムに分かれているとします。例えば、受注(order)、請求(Claim)といったサブの業務システムがあったとして、これらのプログラムを管理するのに名前空間以外を使わず、プレフィックスを使ってみます。

// 受注業務システムのヘッダファイル
// クラス名が「業務を表わすプレフィックス+オブジェクトの名前」
class ordrHoge {
    ....
    ....
};
// 請求業務システムのヘッダファイル
class clmFuga {
    ....
    ....
};
// 名前空間は全てstd
using namespace std;

int main() {
    // 使用する変数ではプレフィックスは取り除く
    ordrHoge hoge;
    clmFuga fuga;
    ....
}

このようにすれば、複数の業務チームのソースコードが混在する場面でも衝突が起きにくくなります。現に私のプロジェクトでは、名前空間に関する規約がありません。ですが、これはアーキテクトが意図したものではないようで、業務を表わすハンガリアン?を強制したらたまたま上手くいっただけのようです。