C/C++ コード フォーマッタ
ガイド
C/C++ コード フォーマッタ
業界標準のスタイルプリセットを使用して、CおよびC++コードを即座にフォーマットします。乱雑または一貫性のないフォーマットのコードを貼り付けて、LLVM、Google、Chromium、Mozilla、WebKit、またはMicrosoftのスタイルガイドラインに一致する、インデント、ブレースラッピング、ポインタアライメントを完全に制御できる、クリーンで適切に構造化された出力を取得します。
使い方
CまたはC++コードを入力エリアに貼り付けます。スタイルプリセットを選択してフォーマットオプションを自動設定するか、インデント幅、ブレースラッピングスタイル、ポインタアライメントを手動で調整してプロジェクトの規約に合わせます。フォーマットされたコードは出力パネルに即座に表示され、ワンクリックでコピーできます。
特徴
- スタイルプリセット – LLVM、Google、Chromium、Mozilla、WebKit、Microsoftのスタイル設定によるワンクリックフォーマット。これらは実際のclang-formatのデフォルトに一致します。
- CおよびC++のサポート – クラス、テンプレート、名前空間、プリプロセッサディレクティブを含む、CおよびC++の両方の構文を処理します。
- ブレースラッピングスタイル – 関数、条件分岐、ループのブレース配置について、アタッチ(K&R)、Allman(次の行)、Stroustrup、またはGNUの間で選択します。
- ポインタアライメント – ポインタと参照演算子が左(
int* p)、右(int *p)、または中央(int * p). - 設定可能なインデント – インデント幅(2、4、または8)を設定し、スペースまたはタブを選択します。
- リアルタイムフォーマット – 入力中またはフォーマットオプションの変更中に、出力が即座に更新されます。
このツールを使用するタイミング
コードレビューのためにコードスニペットを整理する場合、共有リポジトリにコミットする前にフォーマットを標準化する場合、またはプロジェクト間でコードを移動する際にスタイルガイド間を変換する場合にこのツールを使用します。特に、ドキュメント、ブログ投稿、またはStack Overflowの回答のためにコード例をすばやく再フォーマットするのに役立ちます。
よくある質問
-
clang-formatとは何ですか、そしてなぜC++プロジェクトはそれを使用するのですか?
clang-formatは、LLVMプロジェクトのオープンソースツールであり、設定可能なスタイルルールに従ってC、C++、Objective-C、およびその他の言語を自動的にフォーマットします。プロジェクトはこれを使用して、チーム全体で一貫したコードスタイルを強制します。これにより、コードレビュー中のフォーマットに関する議論が解消され、エディタや個人の好みに関係なく、すべてのコントリビューターのコードが同じように見えます。
-
AllmanスタイルとK&Rブレーススタイルの違いは何ですか?
K&R(Kernighan and Ritchie)スタイルは、制御ステートメントと同じ行に開きブレースを配置します:if (x) {。Allmanスタイル(Eric Allmanにちなんで命名)は、制御ステートメントと揃えて次の行に配置します。K&Rはよりコンパクトで、LLVM、Google、Chromiumで使用されています。AllmanはMicrosoftのスタイルガイドで使用されており、揃えられたブレースがブロック境界を視覚的に明確にするため、C#および一部のCコードベースで人気があります。
-
ポインタアスタリスクは型に付けるべきですか、それとも変数名に付けるべきですか?
これはC/C++の最も古いスタイル議論の1つです。左揃え(int* p)は、ポインタを型の一部と見なします。これはGoogleとLLVMが使用するC++の慣例です。右揃え(int *p)は、Cが実際に宣言を解析する方法を反映しています。「int *p, q」では、pのみがポインタです。どちらも有効です。重要なのは、プロジェクト内での一貫性です。ほとんどの最新のC++スタイルガイドは左揃えを推奨しています。
-
C++コードにはどのカラム制限を使用すべきですか?
最も一般的な制限は80文字と120文字です。80カラムの伝統はパンチカードとターミナルの幅にさかのぼり、LLVM、Google、Linuxカーネルで依然として使用されています。120カラムは、より広いモニターが標準である現代の開発ではますます人気が高まっています。WebKitのような一部のプロジェクトではハードリミットを使用していません。チームのディスプレイと、コードがサイドバイサイドのdiffで表示されるかどうかによって選択してください。
恵 スコアボードが到着しました!
スコアボード ゲームを追跡する楽しい方法です。すべてのデータはブラウザに保存されます。さらに多くの機能がまもなく登場します!
