以下は、今後の C++ プロジェクトで提案されています。
- Sutter と Alexandrescu による C++ コーディング標準
- JSF Air Vehicle C++ コーディング標準
- C++ スタイルの要素
- Scott Meyers による効果的な C++ 第 3 版
他に選択肢はありますか?または、上記のリストは C++ プロジェクトで使用する必要がありますか?
いくつかの関連リンク
以下は、今後の C++ プロジェクトで提案されています。
他に選択肢はありますか?または、上記のリストは C++ プロジェクトで使用する必要がありますか?
いくつかの関連リンク
C++ Coding Standards: 101 Rules, Guidelines, and Best Practices (C++ In-Depth Series) Herb Sutter と Andrei Alexandrescu 著。
みんなが一緒にいれば、どちらを採用してもかまわないと思います。いくつかのスタイルが人々のテーザーに同意しないように見えるので、時にはそれは難しいかもしれません。つまり、すべてのメンバー変数の接頭辞m_
がきれいかどうかについて議論することになります。
私はしばらくの間Geosoft標準を使用および変更してきましたが、これらはC++用です。what-is-your-favorite-coding-guidelines-checklistスレッドには他にもいくつかあります
うーん、奇妙な質問です。チームメンバーのほとんどがよく知っている標準を選択してください。チームのために何らかの投票を行います。SOがここでどのように役立つかわかりません:)
私は英国の大手企業のコーディング標準を作成しましたが、単に「汝」の宣言にするのではなく、特定のものを選択した理由を説明することを非常に意識していました。(-:
簡単な方法として、次のことを義務付けることをお勧めします。
コーディング標準は、コードの記述に役立つ場合にのみ意味があります。したがって、コードの一貫性を保つ必要があります(つまり、誰かが変数メンバーにm_を設定し、そうでない場合は、すべて同じスタイルを使用する場合よりも、コードを取得するのに時間がかかる可能性があります)。
彼らが行うべき(すべき)のはそれだけなので、既存のコードを取得して、チームのコードが同じスタイルであることを確認してください。
私はそれを漫画のように考えるのが好きです。シンプソンズで漫画家になると、公式の方法で目を描くか、すべてがズボンのように見えますが、ファミリーガイに行く場合は、別の方法で描く必要があります。どちらの方法も間違っていません。
あまりにも多くの標準は、自分自身をコーディングしない(または自分自身を維持するには良すぎると考える)人々によって書かれた、意味のない制限に関するものです。他の人はあなたにコーディングの仕方を教えようとします。どちらも良い基準にその場所を持っていません、それらはあなたがいくつかのコードを見てそれが何をしているのかを理解するのを簡単にするだけです。
例えば。私の標準には、ディレクトリに名前を付けるためのルールが含まれています。コードは常にプロジェクトと同じ名前のディレクトリにあり、すべてのバイナリはbinサブディレクトリにあり、すべての構成ファイルは同じ場所にあり、変更ログなどがあります。単純なものですが、ルートディレクトリに、バイナリが異なるものと呼ばれるプロジェクトが、どのような変更が加えられたかわからない場合は、絶対に見つかりません。大きな違いを生むシンプルで簡単なもの。
NASA のゴダード宇宙飛行センターが使用しているものです。
Lockheed Martin の JSF Air Vehicle C++ Coding Standards は興味深い読み物ですが、バグが人を殺す可能性のある分野で作業していない限り、少しやり過ぎです。安全性と正確性を最優先にプログラミングする方法の例について、コンピュータ倫理の観点から見ると、依然として非常に重要な例です。
汎用の C++ コーディングについては、個人的に Herb Sutter によるC++ Coding Standardsをお勧めします。当初から、標準化すべきではないもの (安全性、正確性、効率性を促進する慣行ではなく、スタイルや好みに関連するもの) を強調しています。また、リストの中で最も読みやすいものの 1 つであり、各標準について非常に簡潔で簡潔な議論を示しているため、同僚に簡単に見せることができます。
私は Harald Scheirich に同意します。部外者が推奨するセットを選択するだけでなく、ルールがどうあるべきかについてチームに同意してもらうことが最も重要です。
個人的には、Steve McConnell によるCode Complete, 2nd Editionを読むことをお勧めします。これは、(他の多くの有用な情報の中でも) いくつかの一般的なコーディング標準について説明し、それぞれについて解説を提供しています。これは、チームが独自の基準を設定するのに役立つ場合があります。