2025-09-03
IT
00

目录

1. 类型(结构体 / 枚举 / typedef)
2. 宏(宏定义 / 常量)
3. 全局变量
4. 函数
5. 局部变量
6. 文件与模块
7. 推荐整体风格示例

1. 类型(结构体 / 枚举 / typedef)

  • 统一加 _t 后缀,表示一个类型(type)。
  • 名字用小写 + 下划线,避免和系统库(如 size_tuint32_t)冲突。

📌 示例:

c
typedef struct { char session_id[64]; char from[16]; char to[16]; } signal_common_t; typedef enum { SIGNAL_TYPE_OFFER = 0, SIGNAL_TYPE_ANSWER, SIGNAL_TYPE_CONTROL, SIGNAL_TYPE_BYE } signal_type_t;

2. 宏(宏定义 / 常量)

  • 全大写 + 下划线分隔。
  • 模块内宏建议加前缀。

📌 示例:

c
#define SIG_BUF_SIZE 512 #define SIG_MAX_SESSIONS 8

3. 全局变量

  • 全小写,以下划线分隔。
  • 为避免和局部变量混淆,可以加 g_ 前缀。

📌 示例:

c
int g_signal_session_count = 0;

4. 函数

  • 全小写 + 下划线分隔。
  • 建议加模块前缀,方便区分来源。

📌 示例:

c
char* signal_build_offer(signal_common_t *common, const char *ip, int audio_port, int video_port); int signal_parse(const char *json, signal_msg_t *msg);

5. 局部变量

  • 全小写 + 下划线分隔,不加前缀。
  • 名字简短但语义清晰。

📌 示例:

c
char buf[128]; int audio_enabled;

6. 文件与模块

  • 一个功能一个 .c/.h,名字小写。
  • 例如 signal.c + signal.h 实现信令收发。

7. 推荐整体风格示例

c
// signal.h #ifndef SIGNAL_H #define SIGNAL_H #include <stdint.h> #define SIG_BUF_SIZE 512 typedef struct { char session_id[64]; char from[16]; // "client" or "device" char to[16]; // "device" or "client" } signal_common_t; typedef enum { SIGNAL_TYPE_OFFER, SIGNAL_TYPE_ANSWER, SIGNAL_TYPE_CONTROL, SIGNAL_TYPE_BYE } signal_type_t; char* signal_build_offer(signal_common_t *common, const char *ip, int audio_port, int video_port); int signal_parse(const char *json, signal_msg_t *msg); #endif // SIGNAL_H

✅ 总结:

  • 类型 → _t 后缀
  • 枚举值 / 宏 → 大写 + 模块前缀
  • 函数 → 模块前缀 + 下划线风格
  • 变量 → 小写,下划线分隔,必要时加前缀

本文作者:zion

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!