sqlitecpp-coding-standards
SQLiteCpp coding standards and API rules for core edits, public headers, style, and Doxygen.
来源信息
- 仓库
- SRombauts/SQLiteCpp
- 最近来源活动
- 2026年10月1日 08:48
- 检测到的 SKILL.md 语言
- 英语
- 星标
- 2,789
- 分支
- 575
安装方式
默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。
检查来源文件
决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。
正在显示 SKILL.md
SKILL.md
来源说明 · 只读预览- 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`).
在 GitHub 查看