Skip to main content

cpp-review

Review C++ code against Google C++ Style Guide. Use when reviewing C++ code, pull requests, or when asked to check code style compliance.

ソース情報

リポジトリ
ClickHouse/pg_stat_ch
ソースの最終更新活動
2026年1月25日 00:02
検出された SKILL.md の言語
英語
スター
128
フォーク
6

インストール方法

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

ソースファイルを確認

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

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
cpp-review
description
Review C++ code against Google C++ Style Guide. Use when reviewing C++ code, pull requests, or when asked to check code style compliance.
# C++ Code Review (Google Style) Review C++ code for compliance with the Google C++ Style Guide. ## Review Checklist ### Naming - [ ] Types use `PascalCase` - [ ] Functions use `PascalCase` (accessors use `snake_case`) - [ ] Variables use `snake_case` - [ ] Class members have trailing underscore: `member_` - [ ] Constants use `kPascalCase` - [ ] Macros use `UPPER_CASE` with project prefix ### Headers - [ ] Has `#define` guard: `PROJECT_PATH_FILE_H_` - [ ] Self-contained (includes all dependencies) - [ ] Includes ordered: related header, C system, C++ stdlib, other libs, project - [ ] No forward declarations unless necessary ### Classes - [ ] Single-argument constructors are `explicit` - [ ] Data members are `private` - [ ] Copy/move semantics explicit (= default, = delete) - [ ] No virtual calls in constructors - [ ] Uses composition over inheritance when appropriate ### Functions - [ ] Returns values instead of output parameters when possible - [ ] Parameters ordered: inputs before outputs - [ ] Functions are ≤40 lines (prefer smaller) - [ ] Uses `override`/`final` for virtual overrides ### Modern C++ - [ ] Uses `nullptr` (not `NULL` or `0`) - [ ] Uses C++ casts (not C-style) - [ ] Uses range-based for loops where appropriate - [ ] Uses `auto` appropriately (not excessively) - [ ] Smart pointers for ownership (`unique_ptr`, `shared_ptr`) ### Formatting - [ ] 80 character line limit - [ ] 2-space indent - [ ] Braces on same line as control structures - [ ] Spaces around binary operators ## Feedback Format Use severity levels: - 🔴 **MUST FIX**: Style violations or bugs that must be fixed - 🟡 **SHOULD FIX**: Strong recommendations for improvement - 🟢 **CONSIDER**: Optional enhancements or suggestions ## Example Review Comment ``` 🔴 **MUST FIX**: Missing `explicit` on single-argument constructor Line 45: `Foo(int value)` should be `explicit Foo(int value)` to prevent implicit conversions. 🟡 **SHOULD FIX**: Function too long Lines 78-145: `ProcessData()` is 67 lines. Consider breaking into smaller functions for readability and testability. 🟢 **CONSIDER**: Use structured bindings Line 23: `auto [iter, success] = map.insert({key, value});` would be clearer than separate `.first` and `.second` access. ```
GitHubで見る