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.

Informações da origem

Repositório
ClickHouse/pg_stat_ch
Última atividade na origem
25 de janeiro de 2026 às 00:02
Idioma detectado do SKILL.md
inglês
Estrelas
124
Forks
6

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
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. ```
Ver no GitHub