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.

Informations de source

Dépôt
ClickHouse/pg_stat_ch
Dernière activité de la source
25 janvier 2026 à 00:02
Langue détectée de SKILL.md
anglais
Étoiles
124
Forks
6

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
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. ```
Voir sur GitHub