From fea1fe84bfc6c4ecda7160b755445b5595d019ce Mon Sep 17 00:00:00 2001 From: skycurtain Date: Fri, 6 Feb 2026 01:54:49 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E7=BB=9F=E4=B8=80Markdown=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E7=9A=84=E5=88=97=E8=A1=A8=E5=92=8C=E5=88=86=E9=9A=94?= =?UTF-8?q?=E7=BA=BF=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将无序列表的“-”符号统一为“*”,并将分隔线从“---”统一为“***”。 --- .trae/documents/sdk-initialization-patterns.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.trae/documents/sdk-initialization-patterns.md b/.trae/documents/sdk-initialization-patterns.md index 8a4e489..d39d716 100644 --- a/.trae/documents/sdk-initialization-patterns.md +++ b/.trae/documents/sdk-initialization-patterns.md @@ -10,12 +10,15 @@ 1. **优先使用构造函数参数**:如果语言支持(如 Python, Kotlin, Swift),优先使用带默认值的命名参数。 2. **利用语言特性**: - - **重载 (Overloading)**:适用于 Java, C++, C#。 - - **配置对象 (Options Object)**:适用于 TS, JS, Lua。 - - **Builder / Functional Options**:适用于 Go, Rust。 + + * **重载 (Overloading)**:适用于 Java, C++, C#。 + + * **配置对象 (Options Object)**:适用于 TS, JS, Lua。 + + * **Builder / Functional Options**:适用于 Go, Rust。 3. **保持协议底层一致**:无论上层 API 如何设计,底层生成的 `create` 指令 JSON 必须包含 `array` (或对应数据字段) 参数。 ---- +*** ## 各语言实现参考 @@ -217,8 +220,8 @@ Point pts[] = {{1,2}, {3,4}}; tracer_t* t = tracer_create_array_custom("Points", pts, 2, sizeof(Point), point_serializer); ``` ---- +*** ## 总结 -通过统一采用**“构造即初始化”**的设计模式,我们能够在几乎所有主流编程语言中提供一致、简洁且符合语言习惯(Idiomatic)的 SDK 使用体验。这不仅降低了用户的学习成本,也使得代码更加紧凑和易读。 +通过统一采用\*\*“构造即初始化”\*\*的设计模式,我们能够在几乎所有主流编程语言中提供一致、简洁且符合语言习惯(Idiomatic)的 SDK 使用体验。这不仅降低了用户的学习成本,也使得代码更加紧凑和易读。