Skip to main content

sqlitecpp-coding-standards

SQLiteCpp coding standards and API rules for core edits, public headers, style, and Doxygen.

Datos de origen

Repositorio
SRombauts/SQLiteCpp
Última actividad en el origen
1 de octubre de 2026 a las 08:48
Idioma detectado de SKILL.md
inglés
Estrellas
2789
Forks
575

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
sqlitecpp-coding-standards
description
SQLiteCpp coding standards and API rules for core edits, public headers, style, and Doxygen.
# SQLiteCpp Coding Standards ## Non-negotiables - RAII only: acquire in constructors, release in destructors. - Never throw in destructors; use `SQLITECPP_ASSERT()` instead. - C++17 is the project minimum. Do not require C++20 without an explicit baseline change. - Public API headers must not include `sqlite3.h`. - Include the standard headers that declare the facilities a public header uses; do not rely on transitive includes. - Public API must use `SQLITECPP_API` from `SQLiteCppExport.h`. - One `Database`/`Statement`/`Column` per thread. ## Error handling - Throw `SQLite::Exception` for errors in throwing APIs. - Use `tryExec()`, `tryExecuteStep()`, `tryReset()` for error codes. ## Documentation and style - Doxygen required for public API (`@brief`, `@param`, `@return`, `@throw`). - ASCII only, 4 spaces, Allman braces, max 120 chars, LF line endings, final newline. - LF line endings are enforced repo-wide by `.gitattributes` (`* text=auto eol=lf`), matching `.editorconfig` (`end_of_line = lf`); never commit CRLF. Run `git add --renormalize .` if a file drifts. - Use `#pragma once` in headers. ## Naming conventions - Types: PascalCase (`Database`, `Statement`). - Functions/vars: camelCase (`executeStep()`, `getColumn()`). - Members: `m` prefix (`mDatabase`). - Args: `a` prefix (`aDatabase`). - Booleans: `b`/`mb` prefix (`bExists`, `mbDone`). - Pointers: `p`/`mp` prefix (`pValue`, `mpSQLite`).
Ver en GitHub