1. はじめに

このドキュメントの目的は、C++のプログラミングスタイルを定義することです。 ここに示された規約(rules)や推奨(recommendations)は完全なものではありませんが、 C++での開発を続けるにあたっての基準として役立つはずです。 規約や推奨は継続的に改良すべきですし、そのための指摘は大歓迎です。 指摘を行う際は、e-mail <poco@appinf.com> まで連絡してください。

このドキュメントに示される規約と推奨は、以下を実現するためのものです。 プログラムの 正しさメンテナンス性 は、以下の前提の上に形作られるものだからです。

  • 一貫した形式で記述されていること
  • 読みやすく、理解しやすいこと
  • 他のアーキテクチャに移植可能であること
  • 陥りがちなミスがないこと
  • 他のプログラマでもメンテナンスできること

設計に関する問題(例えば、クラス自体やクラス階層の設計など)は、このドキュメントの範囲外です。 設計に関するドキュメントは、このドキュメントの付録に参考文献として示されています。

C++の最も難解な側面に対処するための洞察を得るために、示されたサンプルコードを慎重に読み解いてください。 C++は難解で、一歩間違うだけで致命的なバグを引き起こすため、プログラマの責任は重大です。 パワフルなツールを使う時には、そういった責任がついてまわるものです。 C++は、Cがそうであるのと同じように、プログラマに簡潔な(別の言い方では、とても読めたものじゃない)記述を許しています。

サンプルコードは、簡潔さを優先するため、他の規約に従っていない場合があります。 そういった場合には、従っていない規約を明示するようにしています。


このドキュメントは、Applied Informatics C++ Coding Style Guideの日本語訳です。 原文に忠実な翻訳よりも、原文の意図を簡潔に記載することを目指しています。 もし、誤字脱字や解釈の間違いを発見した場合、本ドキュメントに対してIssueを発行してください。