ブーストライブラリとstlを見て、人々の例を見て、私はかなり混乱しています。大文字の型名には、アンダースコアで区切られたすべての小文字が散在しているようです。
最近、物事が行われるべき方法は正確には何ですか?.NET の世界には独自の一連の規則があることは知っていますが、C++ の領域とはまったく異なるようです。
ブーストライブラリとstlを見て、人々の例を見て、私はかなり混乱しています。大文字の型名には、アンダースコアで区切られたすべての小文字が散在しているようです。
最近、物事が行われるべき方法は正確には何ですか?.NET の世界には独自の一連の規則があることは知っていますが、C++ の領域とはまったく異なるようです。
あなたが開いたワームの缶。
C ++標準ライブラリはすべてにunderscore_notationを使用します。これは、C標準ライブラリが使用するものだからです。
したがって、コードを全体的に一貫性のあるものにしたい場合(そして実際には外部ライブラリを使用していない場合)、それが唯一の方法です。
多くの場合、ライブラリは将来の標準で考慮されるため、boostは同じ表記を使用していることがわかります。
それ以外にも、多くの規則があり、通常はさまざまな表記法を使用してさまざまな種類の記号を指定します。クラスやtypedefなどのカスタムタイプにはCamelCaseを使用し、変数にはmixedCaseを使用するのが一般的ですが、これは確かに普遍的な標準ではありません。
ハンガリアン記法もあります。これは、特定の変数タイプをさらに区別しますが、そのフレーズに言及するだけで、一部のコーダーから敵意を刺激する可能性があります。
優れたC++プログラマーとしての最善の答えは、没頭しているコードで使用されている規則を採用することです。
良い答えはありません。既存のコードベースと統合する場合、そのスタイルに合わせるのが理にかなっています。新しいコードベースを作成している場合は、簡単なガイドラインを確立することをお勧めします。
図書館や組織によって異なります。
たとえば、私が構築している開発者用ユーティリティ ライブラリでは、さまざまな規約に対応した使いやすいラッパー モジュールを規約のスタイルに含めています。したがって、たとえば、MFC ラッパー モジュールはメンバーに「m_typeMemberVariable」表記を使用しますが、STL ラッパー モジュールは「member_variable」を使用します。どんなフロントエンドが使われても、そのタイプのフロントエンドに典型的なスタイルを持つように構築しようとしています。
普遍的なスタイルを持つことの問題は、誰もが同意しなければならないということです。(たとえば) ハンガリー語表記法を嫌うすべての人にとって、ハンガリー語表記法を使用しないことはコードの理解可能性の基本的な価値を損なうと考える人がいます。したがって、C++ の普遍的な標準が近いうちに存在する可能性は低いです。