返回 Skill 列表
extension
分类: 开发与工程无需 API Key

patterns/context-struct

针对C语言开发的上下文结构模式(C-Specific)

person作者: jakexiaohubgithub

Context Struct Pattern (C-Specific)

Pass state explicitly as struct pointer parameter rather than using globals. First parameter to functions is context containing state and dependencies.

ikigai Application

Core pattern: Every module uses this:

  • ik_repl_ctx_t - REPL state
  • ik_term_ctx_t - Terminal state
  • ik_scrollback_t - Scrollback state
  • ik_env_t - Runtime environment (planned)

Convention: Context is first parameter after talloc context:

res_t ik_scrollback_append(ik_scrollback_t *ctx, const char *line);

Benefits:

  • No global state
  • Multiple instances possible
  • Explicit dependencies
  • Testable (inject mock contexts)

See: project/explicit_context.md for ik_env_t design.