C语言下划线命名法
2024-11-22
标签: C语言

1 函数的命名

函数名使用下划线分割小写字母的方式命名:

设备名_操作名()

操作名一般采用:谓语(此时设备名作为宾语或者标明操作所属的模块)或者谓语+宾语/表语(此时设备名作为主语或者标明操作所属的模块)等形式,如:

tic_init()
adc_is_busy()
uart_tx_char()

中断函数的命名直接使用 设备名_isr() 的形式命名,如:

timer2_isr()

2 变量的命名

变量的命名也采用下划线分割小写字母的方式命名。命名应当准确,不引起歧义,且长度适中。如:

int length;
uint32 test_offset;

单字符的名字也是常用的,如i, j, k等,它们通常可用作函数内的局部变量。

tmp常用做临时变量名。

局部静态变量,应加s_词冠(表示static),如:

static int s_lastw;

全局变量(尤其是供外部访问的全局变量),应加g_词冠(表示global),如:

void (* g_capture_hook)(void);

3 常量及宏的命名

采用下划线分割大写字母的方式命名,一般应以设备名作为前缀,防止模块间命名的重复。如:

#define TIMER0_MODE_RELOAD 2
#define TIMER2_COUNT_RETRIEVE(val) ((uint16)(65536 - (val)))

当然,看作接口的宏可以按照函数的命名方法命名,例如:

#define timer2_clear() (TF2 = 0)
#define timer0_is_expired() (TF0)

4 附录

4.1 常用名词缩写

addition      add
answer        ans
array         arr
average       avg
buffer        buf或buff
capture       cap或capt
check         chk
count         cnt
column        col
control       ctrl
decode        dec
define        def
delete        del
destination   dst或dest
display       disp
division      div
encode        enc
environment   env
error         err
float         flt
frequency     freq
header        hdr
index         idx
image         img
increment     inc
initalize     init
iteration     itr
length        len
memory        mem
middle        mid
make          mk
message       msg
multiplication mul
number        num
operand       opnd
optimization  opt
operator      optr
packet        pkt
positon       pos
previous      pre或prev
payload       pl
type          tp
pointer       ptr
code          cd
record        rcd
receive       recv
result        res
return        ret
source        src
stack         stk
string        str
subtraction   sub
table         tab
temporary     tmp或temp
total         tot
time stamp    ts
value         val

4.2 常用反义词组

add / remove            begin / end          create / destroy
insert / delete         first / last         get / release
increment / decrement   put / get            add / delete         
lock / unlock           open / close         min / max
old / new               start / stop         next / previous
source / target         show / hide          send / receive
source / destination    cut / paste          up / down


可能会用到的工具/仪表
本站简介 | 意见建议 | 免责声明 | 版权声明 | 联系我们
CopyRight@2024-2039 嵌入式资源网
蜀ICP备2021025729号