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 언어
영어
스타
124
포크
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에서 보기