まず、私の答えは、私の経験だけに基づいて、かなりの主観的なものであり、外部のデータやリソースに裏打ちされていないことを強調したいと思います。
大会はそれだけです:大会です。どのものを使用するのではなく、あなたとあなたが現時点で作業しているコードを維持するプログラマーのために、読みやすく快適なものを選択することが重要です。
私はCamelCaseをC++で使用しています。視覚的には私の目が気に入っています。一方、私はC言語でアンダースコアと小文字の関数名を使用しています。これは、どの言語が私のために使われたのかを簡単に見分ける方法になります。
他のプログラマは他の理由をもっているでしょう - そのほとんどは多かれ少なかれ主観的なものになるでしょうし、彼らや彼らが所属する開発者にも当てはまります。
他の言語をご覧ください。 C#はCamelCaseを優先し、最初の文字は大文字にします。なぜ最初のものを小文字にしておくよりも良いのでしょうか?
Zendフレームワークを使用するPHPプログラマーは、Zend命名規則にも精通しています:http://framework.zend.com/manual/en/coding-standard.naming-conventions.html。
Drupal APIもPHPですが、アンダースコア、小文字、モジュール/テーマ固有の接頭辞を使用しています。
ライブラリ、フレームワーク、さらには言語全体でも、何らかの理由でメーカーが好むような命名規則がある場合があります。それはあなたの通常の命名規則を使用して終了するよう強制しません:)。だから、あなたの質問に対する答えは、そんなにばかげた方法で置くことができます。個々のプログラマーはそれに慣れているからです。
2番目の質問については:いいえ、私はどんなプロジェクトでも他のコンベンションを使用することをお勧めしません。あなたに最適なものを選んでください。あなたが選択の余地がない唯一の状況は、何らかの理由で単一の規約(例えば一貫したAPI)に固執したい開発チームにいる場合です。
3番目の質問:はい、このように表示できます。 UmbraModule
またはTCODConsole
は、Umbraまたはlibtcod APIの一部です。 STLに関しては、私はそれを名前空間にしたくない。 std::*
をすべて接頭辞として付けることは、それが別のライブラリの一部であるかどうかを示す非常に明確な指標です。したがって、インフラストラクチャ/アプリケーションのコードは明確に区別されます - CamelCase vs.
これはまだスタイルのもう一つの質問です.... –
プログラマーがstdlib命名規則を使用し、@ andreasがそれを見ない場合、それは起こりましたか?間違いなく、*これらの規則を使用している人はいます。 –
実際のプログラマーはアンダースコアを使用しています! –