Skip to main content

cpp-coding-standards

C++コアガイドラインに基づくC++コーディング標準(isocpp.github.io)。現代的で安全で慣用的なプラクティスを強制するためにC++コードを書き、レビュー、またはリファクタリングする場合に使用します。

ソース情報

リポジトリ
affaan-m/ECC
ソースの最終更新活動
2026年5月17日 06:31
検出された SKILL.md の言語
日本語
スター
276,549
フォーク
41,243

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
cpp-coding-standards
description
C++コアガイドラインに基づくC++コーディング標準(isocpp.github.io)。現代的で安全で慣用的なプラクティスを強制するためにC++コードを書き、レビュー、またはリファクタリングする場合に使用します。
origin
ECC
# C++コーディング標準(C++コアガイドライン) C++コアガイドラインから派生した最新のC++(C++17/20/23)の包括的なコーディング標準。タイプセーフティ、リソースセーフティ、不変性、明確性を強制します。 ## 使用時期 - 新しいC++コードを書く(クラス、関数、テンプレート) - 既存のC++コードをレビューまたはリファクタリング - C++プロジェクトでアーキテクチャ決定を行う - C++コードベース全体で一貫性のあるスタイルを実施 - 言語機能の選択(例:`enum` vs `enum class`、生ポインタ対スマートポインタ) ## クロスカッティング原則 これらのテーマはガイドライン全体に繰り返され、基礎を形成: 1. **至るところにRAII**:リソースライフタイムをオブジェクトライフタイムにバインド 2. **デフォルトで不変性**:`const`/`constexpr`で開始;変更可能性は例外 3. **タイプセーフティ**:型システムを使用してコンパイル時にエラーを防止 4. **意図を表現**:名前、タイプ、概念は目的を伝える必要があります 5. **複雑性を最小化**:シンプルなコードが正しいコード 6. **値セマンティクス対ポインタセマンティクス**:値で返すか、スコープ付きオブジェクトを好む ## 主要なルール | Rule | Summary | |------|---------| | **P.1** | コード内のアイデアを直接表現 | | **P.3** | 意図を表現 | | **P.4** | 理想的には、プログラムは静的にタイプセーフである必要があります | | **P.5** | ランタイムチェックに対するコンパイル時チェック | | **P.8** | リソースをリークしない | | **P.10** | 変更可能なデータより不変データを好む | | **I.1** | インターフェースを明示的にする | | **I.2** | 非const グローバル変数を避ける | | **I.4** | インターフェースを正確にし、強く型付けされたものにする | ## スマートポインタと所有権 現代的なC++では、生ポインタの代わりにスマートポインタを使用: - `std::unique_ptr<T>` 単一所有者向け - `std::shared_ptr<T>` 共有所有権向け - `std::weak_ptr<T>` 循環参照を回避するため
GitHubで見る