首页 > 编程语言 >C编程命名习惯总结

C编程命名习惯总结

时间:2022-12-08 20:06:57浏览次数:68  
标签:总结 缩写 函数 编程 add 命名 变量 define



1、​​匈牙利命名法​​​ 通过在变量名之前增加小写字母的符号前缀,以标识变量的属性、类型、作用域等参数。简单地说,即“变量名=属性+类型+对象描述”的形式。
示例:m_lpszStr,表示指向以 0 字符结尾的字符串的长指针成员变量
2、​​骆驼命名法​​ 也叫​​驼峰式大小写​​。其主要规范为,混合使用大小写字母来构造变量名或函数名。
示例:printEmployeePaychecks(),如代码所示,函数的每一个逻辑断点均用大写字母标识
3、​​帕斯卡命名法​​ 与​​骆驼命名法​​类似,​​骆驼命名法​​是首字母小写,而​​帕斯卡命名法​​则需要首字母大写。源自 Pascal 语言的命名惯例,也称为大驼峰式命名法。
示例:LoginCheck(),string UserName



​http://blog.sina.com.cn/s/blog_8a7012cf01017h9p.html​​  C/C++变量命名规则,个人习惯总结

该编文章,清清晰明了,节省时间,时不时可以看上几遍。

 

 

1、命名规则尽量与所采用的操作系统或开发工具的风格保持一致。

Windows应用程序的标识符通常采用“大小写”混排的方式,如AddChild。而Unix应用程序的标识符通常采用“小写加下划线”的方式,如add_child。别把这两类风格混在一起用。

2、变量的名字应当使用“名词”或者“形容词+名词”。

3、全局函数的名字应当使用“动词”或者“动词+名词”(动宾词组)。类的成员函数应当只使用“动词”,被省略掉的名词就是对象本身。

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

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

标识符的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解。如:
temp 可缩写为 tmp ;
flag 可缩写为 flg ;
message 可缩写为 msg ;

 

下面所示的局部变量名的定义方法可以借鉴。
int liv_width
其变量名解释如下:
l 局部变量(Local) (其它:g 全局变量(Global)...)
i 数据类型(Interger)
v 变量(Variable) (其它:c 常量(Const)...)
width 变量含义
这样可以防止局部变量与全局变量重名。

常用反义词组:

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


函数的命名
函数名使用下划线分割小写字母的方式命名:
设备名_操作名()
tic_init()
adc_is_busy()
uart_tx_char()
中断函数的命名直接使用 设备名_isr() 的形式命名,如:
timer2_isr()


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
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 type pt
pointer ptr
return code rc
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


标签:总结,缩写,函数,编程,add,命名,变量,define
From: https://blog.51cto.com/u_6958388/5923277

相关文章

  • KEIL mdk LIB 使用总结
    1、:打开一个测试通过的工程。(测试没有问题后将不需要的部分删除,包括main.c文件,即你不想生成lib的各类xx.c文件删除。当然你也可以将各类不想编译生成lib的文件Optionsfor......
  • Redis项目总结--缓存更新策略
    Redis项目总结--缓存更新策略1.更新策略内存淘汰超时剔除主动更新说明不用自己维护,利用Redis内存淘汰机制,内存不足时自动淘汰部分数据,下次查询时更新缓存给......
  • 12指针的应用 已知一个整形数组[5],它的各元素值分别是13、21、8、18和6。使用指针表
    怎么说呢,我烦死了,垃圾题目,要我们写这种题目有啥子意义呢,浪费时间啊1#include<stdio.h>2intmain()3{4intx[5]={13,21,8,18,6};5in......
  • 【matlab编程基础】matlab的一些编程操作
    前言 基本操作1.matlab中如何使用类似字典的方式进行键值操作;ids=[0123456];names={'Unknown','Round','Left','Right','Uturn','Bicycle','Pedes......
  • 字符串总结2
    作者:​​xyw_Eliot​​char*和int,float等的格式化转换从字符串中提取指定类型数字或子串,这种情形也是非常的常见。大部分的情形都可以用sscanf()​和 sprintf() 这两......
  • 数列知识总结梳理
    本篇文章重点梳理数列章节相关的知识,以及在求解数列相关问题时比较常用且能较好地简便计算的方法。有关等差数列与等比数列的内容本文主要是以给出性质为主,中点在于后两部......
  • 12月8日内容总结——
    目录今日内容概要今日内容概要一、纯手撸web框架二、基于wsgiref模块三、代码封装优化四、动静态网页五、jinja2模块六、前端、后端、数据库三者联动七、python主流web框架......
  • c++ stl总结
    前言本篇是c++总结系列的stl篇,重点讲解容器,及effectivestl的总结stl原理stl提供六大部件,这六大部件可以彼此搭配工作,这六大部件是:容器。各种数据结构迭代器。扮演容......
  • canvas导出图片方法总结
    1.直接调用canvas对象的toDataURL方法转化为指定类型varnewImg=newImage();newImg.src=canvas.toDataURL("image/png"));2.利用canvas对象的toBlob方法https://de......
  • 参数传递和命名约定 Argument Passing and Naming Conventions
    ArgumentPassingandNamingConventions参数传递和命名约定MicrosoftSpecific官方详解可见:https://msdn.microsoft.com/en-us/library/984x0h58(v=vs.120).aspxThe......