C/C++を前提として、構造体で定数を用意しようと思います。

型の定義の部分を、宣言の部分にまとめてしまっても問題はないのですが、
あえて定義を独立させるとき、型名と定数名は、どのような命名規則になるでしょうか。

なお、現在考えている候補は以下のとおりです。
他に良い規則があればお願いします。

 struct Hoge HOGE;    //同じ名前で定数を大文字に、型をキャメルに
 struct tagHoge HOGE;  //適当なプリフィクス/サフィックスをつける(システムハンガリアン)
 struct Hoge h;       //むしろ型名がメイン
 struct Fuga HOGE;    //全く別の名前を付ける