当前位置:首页 > 单片机 > 单片机
[导读] 1 常见命名规则比较著名的命名规则首推匈牙利命名法,这种命名方法是由Microsoft程序员查尔斯·西蒙尼(Charles Simonyi) 提出的。其主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”

 1 常见命名规则

比较著名的命名规则首推匈牙利命名法,

这种命名方法是由Microsoft程序员查尔斯·西蒙尼(Charles Simonyi) 提出的。

其主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。

匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;

前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。

例如:lpszStr, 表示指向一个以'\0'结尾的字符串(sz)的长指针(lp)变量。

骆驼(Camel)命名法近年来越来越流行,

在许多新的函数库和Java这样的平台下使用得当相多。

骆驼命名法,正如它的名称所表示的那样,指的是混合使用大小写字母来构成标识符的名字。

其中第一个单词首字母小写,余下的单词首字母大写。

例如:printEmployeePaychecks(),函数名中每一个逻辑断点都有一个大写字母来标记。

帕斯卡(Pascal)命名法与骆驼命名法类似。

只不过骆驼命名法是第一个单词首字母小写,而帕斯卡命名法则是第一个单词首字母大写。

例如:DisplayInfo()和UserName都是采用了帕斯卡命名法。

在C#中,以帕斯卡命名法和骆驼命名法居多。

事实上,很多程序设计者在实际命名时会将骆驼命名法和帕斯卡结合使用,

例如变量名采用骆驼命名法,而函数采用帕斯卡命名法。

另一种流行的命名规则称为下划线命名法。

下划线法是随着C语言的出现流行起来的,在UNIX/LIUNX这样的环境,以及GNU代码中使用非常普遍。

本章所述的命名规则主要基于下划线命名法发展而来。

2 函数的命名

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

设备名_操作名()

操作名一般采用:谓语(此时设备名作为宾语或者标明操作所属的模块)或者

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

tic_init()

adc_is_busy()

uart_tx_char()

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

timer2_isr()

3 变量的命名

变量的命名也采用下划线分割小写字母的方式命名。

命名应当准确,不引起歧义,且长度适中。如:

int length;

uint32 test_offset;

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

tmp常用做临时变量名。

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

static int s_lastw;

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

void (* g_capture_hook)(void);

4 常量及宏的命名

采用下划线分割大写字母的方式命名,一般应以设备名作为前缀,

防止模块间命名的重复。如:

#define TIMER0_MODE_RELOAD 2

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

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

#define timer2_clear() (TF2 = 0)

#define timer0_is_expired() (TF0)

5 常用缩写词

原词 缩写

addition add 加

subtraction sub 减

multiplication mul 乘法

division div 除法

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 显示

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 消息

number num 数量、编号

operand opnd 操作数

optimization opt 最优

operator optr 操作

packet pkt 消息包

positon pos 位置

previous pre或prev 以前的

pointer ptr 指针

record rcd 记录

receive recv 收到、接收

result res 结果

return ret 返回

source src 源头

stack stk 栈

string str 字符串

table tab 表

temporary tmp或temp 临时

total tot 全部的

time stamp ts 时间戳

value val 值

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭