Skip to main content

sqlitecpp-coding-standards

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

Quellinformationen

Repository
SRombauts/SQLiteCpp
Letzte Quellaktivität
1. Oktober 2026 um 08:48
Erkannte Sprache von SKILL.md
Englisch
Sterne
2.790
Forks
575

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
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`).
Auf GitHub ansehen