Files
everything-claude-code/docs/ja-JP/skills/cpp-coding-standards/SKILL.md
Claude ec9ace9c54 docs: add native Japanese translation of ECC documentation (ja-JP)
Translate everything-claude-code repository to Japanese including:
- 17 root documentation files
- 60 agent documentation files
- 80 command documentation files
- 99 rule files across 18 language directories (common, angular, arkts, cpp, csharp, dart, fsharp, golang, java, kotlin, perl, php, python, ruby, rust, swift, typescript, web)
- 199 skill documentation files

Total: 455 files translated to Japanese with:
- Consistent terminology glossary applied throughout
- YAML field names preserved in English (name, description, etc.)
- Code blocks and examples untouched (comments translated)
- Markdown structure and relative links preserved
- Professional translation maintaining technical accuracy

This translation expands ECC accessibility to Japanese-speaking developers and teams.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-05-17 02:31:40 -04:00

50 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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>` 循環参照を回避するため