docs: C ABI migration campaign plans, handoffs and roadmap
Complete documentation set for the facade migration (B1-R6) and beyond: facade-migration-roadmap, handoffs v3-v6, R5 guides, R6 cleanup plan, R7 pure-ABI plan, long-term plans (riir/ai-agent/gtest/ui-redesign), updated Chinese README draft, UI design mockups, and the Google Test + struct-typedef rules in CONTRIBUTING.
This commit is contained in:
@@ -22,6 +22,7 @@ submitted should abide by the following standards:
|
||||
* Documentation comments should use **Javadoc-style** (`/** ... */`) where appropriate.
|
||||
* Naming rules (enforced by `readability-identifier-naming` in `.clang-tidy`):
|
||||
* Types (`class`, `struct`, `enum`, type aliases, template parameters): `PascalCase`
|
||||
* `typedef` of structs is permitted (e.g. the opaque-handle pattern `typedef struct OakEngineNode OakEngineNode;`); struct typedefs follow `PascalCase`
|
||||
* Functions, variables, member variables: `snake_case`
|
||||
* Private/protected members: trailing underscore, `class_member_variables_`
|
||||
* Constants and enum values: `snake_case` (e.g. `k_dry_run_interval`, `k_linear`); `ALL_CAPS` is reserved for macros — save the fear for things that are actually dangerous
|
||||
@@ -30,5 +31,6 @@ submitted should abide by the following standards:
|
||||
* Namespaces: short `snake_case`
|
||||
* Getters: same name as the private member without the trailing underscore (`foo_` → `foo()`); setters: `set_foo()`
|
||||
* Exception: Qt and third-party (e.g. OpenFX) virtual overrides and framework callbacks keep their original names (`paintEvent`, `getParams`, ...) — renaming them would break the override
|
||||
* Tests are written with **Google Test** (`TEST`/`TEST_F`/`TEST_P` + `EXPECT_*`/`ASSERT_*`). Do not add hand-written test `main()`s, raw `assert()`-based test files, or custom test macros/frameworks. CTest stays the runner only — register cases through `gtest_discover_tests()`; use `GTEST_SKIP()` for environment-dependent cases (GPU, missing codecs) instead of relying on crashes or timeouts..
|
||||
* 100 column limit (where it doesn't impair readability)
|
||||
* Unix line endings (only LF no CRLF)
|
||||
|
||||
Reference in New Issue
Block a user