我是靠谱客的博主 眼睛大往事,最近开发中收集的这篇文章主要介绍C语言编程命名规格,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

业界共有四种命名法则:驼峰命名法、匈牙利命名法、帕斯卡命名法和下划线命名法

1、驼峰命名法:是指混合使用大小写字母来构成变量和函数的名字

  1. 在实际的编程中又分为:大驼峰命名法和小驼峰命名法
  • 驼峰命名法:每一个单词的首字母都采用大写字母,例如:FirstName、LastName、CamelCase,也被称为 Pascal 命名法。
  • 小驼峰命名法:第一个单词以小写字母开始,第二个单词的首字母大写。例如:firstName、lastName。

2、匈牙利命名法:即: 变量名=变量类型+变量的英文意思(或英文缩写、中文全拼、中文全拼缩写)

对非通用的变量,在定义时加入注释说明,变量定义尽量可能放在函数的开始处。

4.匈牙利命名法中常用的小写字母的前缀

前缀       类型             中文说明

a        Array               数组

b         BOOL(int)             布尔(整数)

by       Unsigned Char(Byte)     无符号字符(字节)

c        Char             字符(字节)

cb       Count of Bytes         字节数

cr        Color Reference Value      颜色(参考)值

cx       Count of x(Short)        x的集合(短整数)

f      Flags(usually multiple bit values)   标志(一般是有多位的数值)

fn       Function             函数

g_       Global             全局的

h         Handle              句柄

i          Integer              整数

l           Long              长整数

lp       Long Pointer             长指针

m_     Data Member of a Class    一个类的数据成员

n       Short Integer           短整数

p       Pointer               指针

s       String               字符串

sz    Zero Terminated String       以零结尾的字符串

tm     Text Metric             文本规则

u     Unsigned Integer            无符号整数

ul    Unsigned Long(ULONG)       无符号长整数

w      WORD(Unsigned Short)          无符号短整数

x,y   x, y Coordinates (Short)         坐标值(短整数)

v         Void               空

==============================================================================

有关项目的全局变量用g_开始,类成员变量用m_,局部变量若函数较大则可考虑用l_用以显示说明其是局部变量。

前缀         类型           例子

g_         全局变量        g_Servers

C         类或者结构体     CDocument, CPrintInfo

m_            成员变量      m_pDoc, m_nCustomers

==============================================================================

VC常用前缀列表:

前缀       类型         描述           例子

ch       char       8位字符         chGrade

ch       TCHAR     16位Unicode集字符     chName

b        BOOL       布尔变量         bEnable

n        int         整型          nLength

n           UINT       无符整型         nLength

w       WORD     16位无符号整型        wPos

l         Long      32位有符号整型       lOffset

dw       DWORD         32位无符号整型      dwRange

p          *       指针变量,内存模块指针      pDoc

lp         Far*         长指针          lpDoc 

lpsz     LPSTR         32位字符串指针      lpszName

lpsz       LPCSTR     32位常量字符串指针      lpszName

lpsz            LPCTSTR      32位Unicode集常量指针       lpszName

h      handle       Windows对象句柄      hWnd

lpfn     (*fn)()                  回调函数指针          lpfnAbort

=============================================================================

变量命名规范:

变量命名规范
前缀 类型 描述     实例
ch char 8位字符  chGrade
ch TCHAR 如果_UNICODE定义,则为16位字符  chName
BOOL 布尔值  bEnable
 n int 整型(其大小依赖于操作系统)  nLength
UINT 无符号值(其大小依赖于操作系统)  nHeight
WORD 16位无符号值  wPos
LONG 32位有符号整型  lOffset
dw DWORD 32位无符号整型  dwRange
*   指针pDoc
lp FAR* 远指针  lpszName
 lpsz LPSTR 32位字符串指针  lpszName
lpsz LPCSTR 32位常量字符串指针  lpszName
 lpsz LPCTSTR 如果_UNICODE定义,则为32位常量字符串指针 lpszName
handle Windows对象句柄  hWnd
lpfn callback 指向CALLBACK函数的远指针 

3、帕斯卡命名法:与骆驼命名法类似只不过骆驼命名法是首字母小写,而帕斯卡命名法是首字母大写,如:

程序代码

DisplayInfo();
string UserName;

4、下划线命名法:

print_employee_paychecks();

5、其他

1.指针变量命名的基本原则为:

  •        对一重指针变量的基本原则为:“p”+变量类型前缀+命名,如一个float*型应该表示为pfStat。
  •       全局变量用g_开头,如一个全局的长型变量定义为g_lFailCount。即:变量名=g_+变量类型+变量的英文意思(或缩写)。
  •       静态变量用s_开头,如一个静态的指针变量定义为s_plPerv_Inst。即: 变量名=s_+变量类型+变量的英文意思(或缩写)
  •       对枚举类型(enum)中的变量,要求用枚举变量或其缩写做前缀。并且要求用大写。如:
enum cmEMDAYS
{
EMDAYS_MONDAY;
EMDAYS_TUESDAY;
……
};
  • 对struct、union变量的命名要求定义的类型用大写。并要加上前缀,其内部变量的命名规则与变量命名规则一致。结构一般用S开头,如:
struct ScmNPoint
{
int nX;//点的X位置
int nY; //点的Y位置
};
  • 联合体一般用U开头,如:
union UcmLPoint
{
LONG lX;
LONG lY;
}
  • 对常量(包括错误的编码)命名,要求常量名用大写,常量名用英文表达其意思。当需要由多个单词表示时,单词与单词之间必须采用连字符“_”连接。
如:#define CM_FILE_NOT_FOUND CMMAKEHR(0X20B) 其中CM表示类别。
  • 对const 的变量要求在变量的命名规则前加入c_。即:c_+变量命名规则;示例:const char* c_szFileName;

2.下面是一些在软件中常用的反义词组。

add / remove begin / end create / destroy
insert / delete first / last g et / 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
示例:
intmin_sum;
intmax_sum;
intadd_user( BYTE *user_name );
intdelete_user( BYTE *user_name );

1.函数注释

/********************************** 
[函数名称] (必需) 
[函数功能] (必需) 
[参数] (必需。表明各参数是输入参数还是输出参数) 
[返回值](必需。解释返回值的意义) 
**********************************/

2.文件注释

在头文件、实现文件的首部,要有文件注释介绍内容

/********************************** 
[文件名](必需) 
[功能模块和目的](必需) 
**********************************/

3.代码注释

  • 除文件、函数注释允许 ‘/**/’ 外,其他单行注释或语句体的注释必须使用 ‘//’注释
  • 常量定义时应有说明
  • 主要变量(结构,联合,类或对象)定义或引用是,要对含义进行注释
  • 典型算法前注释
  • 注释可在上一行
  • 空行和空白符也是注释,对于一个函数内的功能模块用空行分割

个人建议在编程的过程中命名函数是用驼峰命名法和下划线命名法比较好,在变量定义时匈牙利命名法比较好

网络有借鉴,如有侵权请告知,多谢!

最后

以上就是眼睛大往事为你收集整理的C语言编程命名规格的全部内容,希望文章能够帮你解决C语言编程命名规格所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部