编程命名规范
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编程命名规范
篇一:编程代码命名法
帕斯卡命名法
编辑
即pascal命名法。
命名规则:
当变量名和函式名称是由二个或二个以上单字连结在一起,而构成的唯一识别字时,用以增加变量和函式的可读性。
单字之间不以空格断开或连接号(-)、底线(_)连结,第一个单字首字母采用大写字母;后续单字的首字母亦用大写字母,例如:FirstName、LastName。
每一个单字的首字母都采用大写字母的命名格式,被称为“Pascal命名法”,源自于Pascal语言的命名惯例,也有人称之为“大驼峰式命名法”(Upper Camel Case),为驼峰式大小写的子集。
在编程中
帕斯卡命名法是在命名的时候将首字母大写,如:
程序代码public void DisplayInfo();
stringUserName;
二者都是采用了帕斯卡命名法。
在C#中,以帕斯卡命名法和骆驼命名法居多。
C#中的编码惯例中,给公共成员变量(public)、私有成员变量(private)、受保护的成员变量(protect)、或内部成员
变量(internal)命名时,应使用帕斯卡命名法,如score、name、Status均为有效的成员变量名。
1“Pascal命名法”可视为一种命名惯例,并无绝对与强制,为的是增加识别和可读性。
一旦选用或设定好命名规则,在程式编写时应保持格式的一致性。
骆驼命名法
1基本概念
骆驼式命名法(又称驼峰命名法),正如它的名称CamelCase 所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。
程序员们为了自己的代码能更容易的在同行之间交流,所以多采取统一的可读性比较好的命名方式。
例如:有些程序员喜欢全部小写,有些程序员喜欢用下划线,所以如果要写一个my name的变量,他们常用的写法会有myname、my_name、MyName或者myName。
这样的命名规则不适合所有程序员阅读,而利用驼峰
命名法来表示,可以增加程序可读性。
例如,下面是分别用骆驼式命名法和下划线法命名的同一个函数:
printEmployeePaychecks();
print_employee_paychecks();
第一个函数名使用了骆驼式命名法——函数名中的每一个逻辑断点都有一个大写字母来标记;第二个函数名使用了下划线法----函数名中的每一个逻辑断点都有一个下划线来标记。
骆驼式命名法近年来越来越流行了,在许多新的函数库和Microsoft Windows这样的环境中,它使用得相当多。
另一方面,下划线法是c出现后开始流行起来的,在许多旧的程序和UNIX这样的环境中,它的使用非常普遍。
2应用概述
骆驼式命名法(Camel-Case)是电脑程式编写时的一套命名规则(惯例)。
骆驼式命名法就是当变量名或函式名是由一个或多个单字连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;第二个单词的首字母大写或每一个单词的首字母都采用大写字母,例如:myFirstName、myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。
骆驼式命名法(Camel-Case)一词来自 Perl 语言中普遍使用的大小写混合格式,而 Larry Wall 等人所著的畅销书《Programming Perl》(O'Reilly 出版)的封面图片正是一匹骆驼。
骆驼式命名法的命名规则可视为一种惯例,并无绝对与强制,为的是增加识别和可读性。
小驼峰法
变量一般用小驼峰法标识。
驼峰法的意思是:除第一个单词之外,其他单词首字母大写。
譬如
intmyStudentCount;
变量myStudentCount第一个单词是全部小写,后面的单词首字母大写。
大驼峰法
相比小驼峰法,大驼峰法把第一个单词的首字母也大写了。
常用于类名,函数名,属性,命名空间。
譬如
public class DataBaseUser;
句柄 h
长整型 l
布尔 b
浮点型(有时也指文件) f 双字
dw
字符串 sz
短整型 n
双精度浮点 d
计数 c(通常用cnt)
字符 ch(通常用c)
整型 i(通常用n)
字节 by
字 w
实型 r
无符号 u
描述部分:
最大 Max
最小 Min
初始化 Init
临时变量 T(或Temp)
源对象 Src
目的对象 Dest
3举例
hwnd: h 是类型描述,表示句柄,wnd是变量对象描述,表示窗口,所以hwnd表示窗口句柄;
pfnEatApple:pfn是类型描述,表示指向函数的指针,EatApple是变量对象描述,所以它表示指向EatApple函数的函数指针变量。
g_cch: g_ 是属性描述,表示全局变量,c 和ch分别是计数类型和字符类型,一起表示变量类型,这里忽略了对象描述,所以它表示一个对字符进行计数的全局变量。
上面就是HN命名法的一般规则。
4总结
MFC、句柄、控件及结构的命名规范:
Windows类型样本;MFC类样本变量
HWND hWnd;CWnd* pWnd;
HDLG hDlg;CDialog* pDlg;
HDC hDC; CDC* pDC;
HGDIOBJ hGdiObj;CGdiObject* pGdiObj;
HPEN hPen;CPen* pPen;
HBRUSH hBrush;CBrush* pBrush;HFONT hFont;CFont* pFont;
HBITMAP hBitmap;CBitmap* pBitmap;HPALETTE hPaltte;CPalette* pPalette;HRGN hRgn;CRgn* pRgn;
HMENU hMenu;CMenu* pMenu;
HWND hCtl;CState* pState;
HWND hCtl;CButton* pButton;
HWND hCtl;CEdit* pEdit;
HWND hCtl;CListBox* pListBox;HWND hCtl;CComboBox* pComboBox;HWND hCtl;CScrollBar* pScrollBar;HSZ hszStr;CStringpStr;
POINT pt;CPointpt;
SIZE size;CSize size;
RECT rect;CRectrect;
一般前缀命名规范:
前缀&类型&实例
C 类或结构CDocument,
m_ 成员变量 m_pDoc,m_nCustomers
变量命名规范:
前缀&类型&描述&实例
ch char 8位字符chGrade
ch TCHAR 如果_UNICODE定义,则为16位字符 chName b BOOL 布尔值bEnable
n int 整型(其大小依赖于操作系统)nLength
u UINT 无符号值(其大小依赖于操作系统)uHeight w WORD 16位无符号值wPos
l LONG 32位有符号整型lOffset
dw DWORD 32位无符号整型dwRange
p * 指针 pDoc
lp FAR* 远指针 lpszName
lpsz LPSTR 32位字符串指针lpszName
篇二:C++编程命名规范
在软件开发过程中,代码的命名规范是一项很突出的内容。
一套定义完整、结构清晰明了的命名规范将大大提升源代码的可读性和软件的可维护性。
据考证,没有一种命名规则可以让所有的程序员都满意,程序设计教科书一般也不会指定命名规则。
但是制定一套令开发组成员基本满意的命名规则,并在项目中贯彻实施,也是团队开发一项必不可少的工作。
我将我的团队的实际工作中的命名规则整理如下:
第一部分:共性规则
共有八项。
作为指导供成员采纳。
【规则1】标识符应简单明了,望文知意。
标识符采用英文单词。
切忌使用汉语拼音来命名。
程序中的英文单词一般不要太复杂,用词应当准确。
例如不要把CurrentValue写成NowValue。
尽量不要使用单词缩写或首字母缩写。
只有当标识符过长时才考虑使用单词缩写。
在使用缩写时,不要自创缩写,尽量使用被广泛接受的缩写。
【规则2】标识符长度应当符合“min-length && max-information”原则。
一般的讲,长名字能更好地表达含义,所以函数名、变量名、类名长达十几个字符不足为怪。
但是名字也不是越长越好。
例如:变量名maxval就比maxValueUntilOverflow更好用。
单字符的名字也是有用的,常见的如i,j,k,m,n,x,y,z等,它们通常用作函数内的局部变量。
【规则3】命名规则尽量与所采用的操作系统或开发工具的风格保持一致。
例如Windows应用程序的标识符通常采用“大小写”混排的方式,如AddChild。
而Unix应用程序的标识符通常采用“小写加下划线”的方式,如add_child。
别把这两类风格混在一起用。
【规则4】程序中不要出现仅靠大小写区分的标识符。
例如:int x和int X;void foo() 和void FOO() 等。
【规则5】避免在不同级别的作用域中重名。
程序中不要出现标识符完全相同的局部变量和全局变量,尽管两者因作用域的不同而不会发生语法错误,但会使人产生误解。
【规则6】正确命名具有互斥意义的标识符。
使用正确的反义词组命名具有互斥意义的变量或相反动作的函数。
如:"MinValue"和"MaxValue","GetName()" 和 "SetName()"
【规则7】尽量避免名字中出现数字编号。
如Value1,Value2等,除非逻辑上的确需要编号。
这是为了防止程序产生无意义的名字,降低程序的可读性。
【规则8】使用库标志
在开发动态库时,为了防止软件库中的一些标识符和其它软件库中标识符冲突,可以为各种标识符加上能反映软件性质的前缀。
例如三维图形标准OpenGL的所有库函数均以gl开头,所有常量(或宏定义)均以GL开头。
第二部分:细则
我采用了一部分的“匈牙利”法命名规范,但没有照搬。
“匈牙利”法最大的特
int nNum = 0; // n 为类型信息,表明 nNum 是一个 int 类型 class CUser; // C 为类型信息,表明 CUser 是一个类
但是正因为如此,“匈牙利”法命名规范也给人一种繁琐的感觉。
例如: int i, j, k;
float x, y, z;
倘若采用“匈牙利”命名规则,则应当写成:
int iI, iJ, ik; // 前缀 i表示int类型
float fX, fY, fZ; // 前缀 f表示float类型
对于此类情况,我的处理方式是不加类型前缀。
而对于下列情况我会加: int iHeigh;
Bool bFlag;
总之,在我的命名规范中,类型前缀是一个可选的命名规则。
下面分类进行征就是类型前缀。
例如:详细的规范。
一、类和接口
1、命名:类名都以大写字母“C”开头,后跟一个或多个单词。
每
个单词的首字母要大写。
接口以大写"I"开头,代表Interface。
2、组成形式:推荐用"名词"或"形容词+名词"的形式,例如:
"CAnalyzer", "CFastVector" ....
二、函数
} POINT;
2、宏:大写字母组成,单词间使用下划线界定
例:#define MAXNUMBER 100 3、枚举变量:加小写前缀"enum"。
例:
typedef enum _ {
OPEN_READONLY,
OPEN_READWRITE
};
4、联合体:加小写前缀"uni"。
例:
typedef union _VARIANT {
char unichVal;
int uninVal;
float uniftVal;
} VARIANT;
篇三:开发代码编程命名规范
编码及命名规范
整理人:陈春祥
日期:2011-01-04
适用范围
本文档适用人员范围:开发人员。
本文档适用开发范围:C#开发、JAVA开发。
注:本文档为使用进行开发的程序员提供编码规范的指导,其提供的一些编码通用规则也可以供使用其他语言编程的开发者参考。
第一部分命名规范
1.大写样式
1.1 首字母大写样式
每个单词开头的字母大写(如TestCounter).
1.2 首字母小写样式
除了第一个单词外的其他单词的开头字母大写. 如.
testCounter.
1.2 全字母大写样式
全部单词都大写,单词间以“_”符号隔开。
尽量少用缩写命名. 如. TEST_COUNTER.
2.命名指导
2.1 名称
所有命名都应该尽可能使用完整的词,例如 SpellCheck。
缩写词可能有许多种形式,因此可能产生混淆。
请注意:缩写词可能很难理解。
如果整个单词太长,则使用完整的第一音节或经过仔细选择的缩写词。
2.2 区分大小写
为了避免混淆和保证跨语言交互操作,请遵循有关区分大小写的使用的下列规则:
1.不要使用要求区分大小写的名称。
对于区分大小写和不区分大小写的语言,组件都必须完全可以使用。
不区分大小写的语言无
法区分同一上下文中仅大小写不同的两个名称。
因此,在创建的组件或类中必须避免这种情况。
2.不要创建仅是名称大小写有区别的两个命名空间。
例如,不区分大小写的语言无法区分以下两个命名空间声明。
namespace ee.cummings;
namespace Ee.Cummings;
3.不要创建具有仅是大小写有区别的参数名称的函数。
下面的示例是不正确的。
void MyFunction(string a, string A)
4.不要创建具有仅是大小写有区别的类型名称的命名空间。
在下面的示例中,Point p 和 POINT p 是不适当的类型名称,原因是它们仅在大小写方面有区别。
System.Windows.Forms.Point p
System.Windows.Forms.POINT p
5.不要创建具有仅是大小写有区别的属性名称的类型。
在下面的示例中,int Color 和 int COLOR 是不适当的属性名称,原因是它们仅在大小写方面有区别。
int Color {get, set}
int COLOR {get, set}
6.不要创建具有仅是大小写有区别的方法名称的类型。
在下面的示例中,calculate 和 Calculate 是不适当的方法名称,原因是它们仅在大小写方面有区别。
void calculate()
void Calculate()
2.3 缩写
为了避免混淆和保证跨语言交互操作,请遵循有关区缩写的使用的下列规则:
1.不要将缩写或缩略形式用作标识符名称的组成部分。
例如,使用 GetWindow,而不要使用 GetWin。
2.不要使用计算机领域中未被普遍接受的缩写。
3.在适当的时候,使用众所周知的缩写替换冗长的词组名称。
例如,用 UI 作为 User Interface 的缩写,用 OLAP 作为On-line Analytical Processing 的缩写。
4.不要在标识符或参数名称中使用缩写。
如果必须使用缩写,对于由多于两个字符所组成的缩写请使用首字母大写样式,虽然这和单词的标准缩写相冲突。
2.4 命名指导
1.类名应该为名词及名词短语,尽可能使用完整的词.
2.使用首字母大写样式
3.不要使用类前缀
4.在适当的地方,使用复合单词命名派生的类。
派生类名称的第二个部分应当是基类的名称。
例如,ApplicationException 对于从名为 Exception 的类派生的类是适当的名称,原因是
ApplicationException 是一种 Exception。
请在应用该规则时进行合理的判断。
例如,Button 对于从 Control 派生的类是适当的名称。
尽管按钮是一种控件,但是将 Control 作为类名称的一部分将使名称不必要地加长。
2.5 接口命名规则
1.接口名称应该为名词及名词短语或者描述其行为的形容词,尽可能使用完整的词. (Example IComponent or IEnumberable)
2.使用首字母大写样式
3.使用字符I为前缀,并紧跟一个大写字母(即接口名的第一个字母大写)
2.6 枚举命名规则。