我应该缩写库中的变量名和函数名吗?

Should I abbreviate variable and function names in a library?

我正在开发一个 C 数据结构库,我希望我的代码清晰,没有太多注释并且仍然可读,但我在命名方面遇到了困难。

  1. 我应该使用 sinit()linit() 还是 stackInit()listInit() 来区分 Stack 和 List 函数?
  2. 保存列表的变量应该是list_t *lslist_t *list?
  3. 保存结构中每条数据大小的变量应该是datasizedataSize?
  4. 在一个结构中,我有一个指向函数(由用户提供)的指针,该函数将比较两个元素,它应该是 cmp 还是 compare

我知道这些问题大部分都是一样的,但我需要把代码中的所有情况都说清楚。

stackInit()listInit()sinit()linit().

更具可读性

声明 list_t *listlist_t *ls 更易读。

至于函数名,你使用的是骆驼风格,那么变量名与函数名不同会更好。所以我更愿意使用 datasizedata_size 而不是 dataSize.

cmp 是单词 comparecomparison 的常用同义词。 Intel 处理器有这样的汇编命令。因此,您可以使用 cmpcomparecomparison.