编程越学越深,也慢慢了解到命名规范的重要性,在前面几个数据结构的示例中,大家也看到,命名也是有一定的规则的,这会方便我们阅读代码,方便我们后期完善。今天就给大家总结一下常用的C++命名规则。希望对大家有所帮助。

目录

​一、命名规范原则​

​1、必循遵守的规则​

​2、尽量做到的规则​

​二、常用命名法​

​1、驼峰命名法​

​2、帕斯卡(Pascal)命名法​

​3、匈牙利命名法​

​4、下划线命名法​

​三、不同类型常用命名规则​

​1、类与对象​

​2、函数​

​3、变量​

​4、常量、宏定义和枚举​


一、命名规范原则

1、必循遵守的规则

首先是总体的命名规范原则,是我们命名时必须要遵守的,不然程序会出现错误。

1、变量名只能是字母(A-Z,a-z)、数字(0-9)或下划线。

2、第一个字母不能是数字,例如 2L 这不是一个合法的C++变量。

3、不能是c++关键字,例如不能用 class 、 int 这些单词来命名一个变量。

常用C++关键字如下,不必死记硬背,多些代码,慢慢就熟练了。

asm

do

if

return

typedef

auto

double

inline

short

typeid

bool

dynamic_cast

int

signed

typename

break

else

long

sizeof

union

case

enum

mutable

static

unsigned

catch

explicit

namespace

static_cast

using

char

export

new

struct

virtual

class

extern

operator

switch

void

const

false

private

template

volatile

const_cast

float

protected

this

wchar_t

continue

for

public

throw

while

default

friend

register

true

 

delete

goto

reinterpret_cast

try

有些是我们不常见的,如果不确定是不是,第一种方式是命名的时候,看一下,以VS2015为例,如果我们定义这个变量有特殊颜色,比如蓝色

C++类、结构体、函数、变量等命名规则详解_匈牙利命名法

说明这是关键字,当然像我们自己定义的有时候也会变色,具体的就看编译器怎么设置的了。第二种方式就是先命名,如果报错,说明这个命名是用了关键字。

C++类、结构体、函数、变量等命名规则详解_驼峰命名法_02

第三种就是尽量避免不确定的,实在不行用大写,C++目前的关键字均为小写。

4、区分大小写,例如iA和ia是两个不同的变量。

2、尽量做到的规则

不遵守不会错,但是命名不是很规范。所以这块没有标准,只是我自己看的很多代码,很多书上讲的,然后自己总结。

1、尽量用英文,不用拼音

2、尽量用少的单词表达多的意思。虽然长度没有硬性要求,但是如果一个变量十多个字母还是不好看。有的书上说20字母以内,有个书上说尽量不超过30个字母,个人建议,控制在15个以内,如果英语不太好,大家可以通过变量命名多接触英语单词,如果英语水平较高,建议控制在10个以内。

3、有含义的变量或者多处调用的变量,尽量用有含义的单词命名,不要用i,j,k这些单个字母命名。要不然别人看你的代码,很难理解变量含义,还容易出错。

4、定义变量时,可以加上类型前缀。比如链表变量前面加上L,类前面加上C。

LinkList LL ;//第一个L的含义是链表,作为前缀,第二个L的含义是变量名称
class CPerson ;//第一个C的含义是类,作为前缀,后面Person的含义是变量名称

 5、同一个程序中,相同类型用同一种命名方法。例如变量用驼峰命名法,那所有的变量都用驼峰命名,类名都要求首字母大写,那所有的类名首字母都大写。

二、常用命名法

1、驼峰命名法

指混合使用大小写字母来构成变量和函数的名字。当变量名或函数名是由一个或多个单词连结在一起构成的唯一识别字时,第一个单词以小写字母开始,从第二个单词开始以后的每个单词的首字母都采用大写字母,例如:myName、myAge,这样的变量名看上去就像骆驼峰一样此起彼伏,因此被称为驼峰命名法。

int *treeBase;
int elemNum;
int treeSize;

2、帕斯卡(Pascal)命名法

也叫大驼峰法,与驼峰命名法类似,不过骆驼命名法是首字母小写,而帕斯卡命名法是首字母大写。

int *TreeBase;
int ElemNum;
int TreeSize;

3、匈牙利命名法

匈牙利命名法是由一位能干的 Microsoft 程序员查尔斯- 西蒙尼(Charles Simonyi) 提出的。它通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等这些符号可以多个同时使用,基本原则是:变量名=属性+类型+对象描述

匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。

int *iTreeBase;
int iElemNum;
int iTreeSize;

4、下划线命名法

与驼峰命名法相似,通过一种方式将不同单词区分开,方便读懂变量含义。与驼峰命名法不同的是,驼峰命名法采用的是首字母大写区分,下划线命名法是在不同单词之间添加下划线。

int *tree_base;
int elem_num;
int tree_size;

三、不同类型常用命名规则

对于C++固有类型,如类,函数,他们有各自的命名规则,当然不同公司有不同公司的命名要求,在这里说一下大多数要求,大家作为了解。

1、类与对象

类的名称一般以大写字母“C”开头,表明定义的是类,后跟一个或多个单词。为便于界定,每个单词的首字母要大写。类的命名推荐用"名词"或"形容词+名词"的形式。

class CPerson;

class CLittleCat;

2、函数

函数的名称由一个或多个单词组成。为便于界定,建议采用帕斯卡(Pascal)命名法,即每个单词的首字母要大写。

int InitQueue(LinkQueue &LQ) ;

int EnQueue(LinkQueue &LQ, int e);

int DeQueue(LinkQueue &LQ, int &e);

3、变量

变量一般采用驼峰命名法,个人也比较喜欢驼峰命名法。

4、常量、宏定义和枚举

常量、宏定义和枚举一般都是所有字母大写,特别是宏定义,在不同字母之间,可以加上下划线,也可以不加。

#define List_INIT_SIZE 100 
#define LISTINCREMENT 10
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define OVERFLOW -1

int LENGTH = 10;
int LIST_MAX_SIZE = 50;