`
ahead_zhan
  • 浏览: 28792 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

常见的程序命名规则

阅读更多
正确并形象地给函数、变量命名,不仅可以增加程序的可读性,也是程序员编程风格的一种反映。较好的命名习惯,可以有效的提高程序的可维护性。以下介绍几种常用的变量命名规则。
一、匈牙利命名法:广泛应用于Microsoft Windows这类环境中。
  这种命名技术是由一位能干的 Microsoft 程序员查尔斯·西蒙尼(Charles Simonyi) 提出的。匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等。这些符号可以多个同时使用,顺序是先m_(成员变 量),再指针,再简单数据类型,再其他。例如:m_lpszStr, 表示指向一个以0字符结尾的字符串的长指针成员变量。
  匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。
  例如:bEnable, nLength, hWnd。
  匈牙利命名法中常用的小写字母的前缀:
前缀 类型 描述
a Array 数组
b BOOL 布尔
by BYTE 无符号字符
c char 字符
cb Count of bytes 字节数
cr Color reference value 颜色值
cx,cy Count of x,y(short) 长度
dw DWORD 双字(无符号长整形)
f Flags 标志
fn Function 函数
g_ Global 全局的
h HANDLE 句柄
i Integer(int) 整数
l Long(long) 长整数
lp Long point 长指针
m_ Data member of a class 类的数据成员
n Short(short) 短整型
np Near point 短指针
p Point 指针
s String 字符串
sz Zero terminated string 以0结尾的字符串
tm Text metric 文本规则
u Unsigned int 无符号整数
ul Unsigned long(ULONG) 无符号长整数
w WORD 无符号短整数
x,y x,y coordinates(short) 坐标
v Void 空
  有关项目的全局变量用g_开始,类成员变量用m_。
前缀 类型 例子
C 类 CDocument, CPrintInfo
m_ 成员变量 m_pDoc, m_nCustomers
g_ 全局变量 g_Servers

二、驼峰命名法:近年来越来越流行。
  驼峰命名法,正如它的名称所表示的那样,指的是混合使用大小写字母来构成标识符的名字。其中第一个单词首字母小写,余下的单词首字母大写。
例如:
  printEmployeePaychecks();
函数名中每一个逻辑断点都有一个大写字母来标记。

三、帕斯卡(Pascal)命名法:与驼峰命名法类似。
只不过驼峰命名法是第一个单词首字母小写,而帕斯卡命名法则是第一个单词首字母大写。因此这种命名法也有人称之为“大驼峰命名法”。
例如:
  DisplayInfo();
  UserName
都是采用了帕斯卡命名法。
  在C#中,以帕斯卡命名法和骆驼命名法居多。
  事实上,很多程序设计者在实际命名时会将驼峰命名法和帕斯卡结合使用,例如变量名采用驼峰命名法,而函数采用帕斯卡命名法。

四、下划线命名法。
下划线法是随着C语言的出现流行起来的,在UNIX/LIUNX这样的环境,以及GNU代码中使用非常普遍。
4.1 函数的命名
  函数名使用下划线分割小写字母的方式命名:
    设备名_操作名();

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

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

4.2 变量的命名
  变量的命名也采用下划线分割小写字母的方式命名。命名应当准确,不引起歧义,且长度适中。如:
    int length;
    uint32 test_offset;

  单字符的名字也是常用的,如i, j, k等,它们通常可用作函数内的局部变量。tmp常用做临时变量名。
  局部静态变量,应加s_词冠(表示static),如:
    static int s_lastw;

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

4.3 常量及宏的命名
  采用下划线分割大写字母的方式命名,一般应以设备名作为前缀,
  防止模块间命名的重复。如:
    #define TIMER0_MODE_RELOAD                2
    #define TIMER2_COUNT_RETRIEVE(val)        ((uint16)(65536 - (val)))

  当然,看作接口的宏可以按照函数的命名方法命名,例如:
    #define timer2_clear()                      (TF2 = 0)
    #define timer0_is_expired()                (TF0)

  据考察,没有一种命名规则可以让所有的程序员赞同,程序设计教科书一般都不指定命名规则。命名规则对软件产品而言并不是“成败悠关”的事,我们不要化太多精力试图发明世界上最好的命名规则,而应当制定一种令大多数项目成员满意的命名规则,并在项目中贯彻实施。
分享到:
评论

相关推荐

    SAP程序命名规则.pdf

    SAP程序命名规则是一组指导SAP程序开发和设计的规范,旨在确保SAP程序的可读性、可维护性和可重用性。本文档将详细介绍SAP程序命名规则的各个方面,包括目标、知识对象的命名规范、代码规范等。 目标 SAP程序命名...

    SAP程序命名规则[参考].pdf

    SAP程序命名规则 SAP程序命名规则是指在SAP系统中编写程序时,遵循一定的命名规则,以保持代码的可读性、可维护性和易用性。本文档将对SAP程序命名规则进行详细的解释和说明。 目录 * 第1章目标 * 第2章知识对象...

    程序构架及命名规范.pdf

    FE_5_module模块则是车型模块,需要根据车型主程序调用的子程序进行命名,例如焊接程序命名为“weld”,抓件程序命名为“pickPart”,放件程序命名为“dropPart”等。如果同一性质的工作在程序中多次出现,可以通过...

    程序命名规范

    程序命名规范是编程实践中至关重要的一个方面,它有助于提高代码的可读性、可维护性和团队协作效率。本文将详细探讨几种常见的标识符命名法、英文缩写原则以及在Java等编程语言中常见的命名规范。 1. **标识符命名...

    C# 程序命名规则

    ### C#程序命名规则详解 在C#编程中,遵循一套规范的命名规则对于提高代码的可读性和可维护性至关重要。以下是对C#中常见命名规则的详细解析,包括类、方法、变量、接口、属性、异常处理、命名空间以及代码结构等...

    程序文件命名规则.doc

    以下是对"程序文件命名规则"的详细说明: 1. **文件分类**: - **品质管理手册(QM)**:一级文件,是整个质量管理体系的基础文档,包含了公司的质量管理政策和目标。 - **程序文件(QP)**:二级文件,详细阐述...

    ABAP开发规范和命名规则

    ABAP开发规范和命名规则 ABAP开发规范和命名规则是IBM提供的一套开发标准和命名惯例,为ABAP开发者提供了详细的开发指南和命名规则,以确保开发的程序代码质量和可读性。本文将对ABAP开发规范和命名规则进行详细的...

    DCS组态命名规则.pdf

    DCS(Distributed Control System,分布式控制系统)作为一种广泛应用在工业过程控制中的系统,其组态命名规则对于提高工作效率、减少组态工作强度、规范组态工作以及提升组态的可读性和可维护性具有重要意义。...

    dotnet程序命名规范donet程序命名规范

    本文将深入探讨.NET程序命名规范,结合C#、ASP.NET以及SQL数据库相关实践,旨在提供一套全面的指导原则。 首先,我们要理解命名规范的核心目标:清晰、一致且具有自解释性。以下是一些通用的.NET命名规则: 1. **...

    c#项目的命名规范

    7. **处理程序与服务命名**:处理程序和Web服务的命名应直观,如登录处理程序命名为`LoginHandler`,用户登录服务命名为`WebUserLogin`。 #### 附录:常用工具控件命名缩写 为了进一步提高代码的清晰度,对于常用...

    [转载]程序命名的一些提示

    本文将深入探讨程序命名的一些关键提示,帮助开发者提升代码质量。 首先,命名应具有表达性。一个好的变量名或函数名应该能直接反映出它所代表的意义,使得其他开发者无需查看其定义就能大致了解它的用途。例如,...

    MCU 单片机C语言 编程语法规范及命名规则.pdf

    "MCU 单片机C语言编程语法规范及命名规则" MCU 单片机C语言编程语法规范及命名规则是指在 MCU 单片机编程中使用 C 语言时需要遵守的语法规范和命名规则,以确保编写的代码易于阅读、维护和移植。 一、程序风格规范...

    编写代码命名规范

    在程序开发过程中,命名规则的选择对于提高代码的可读性和维护性至关重要。匈牙利命名法强调通过前缀明确变量属性,适合于早期Windows编程环境;骆驼命名法和帕斯卡命名法则更注重代码的简洁性和现代编程风格。随着...

    自己整理的 单片机命名规则

    ATMEL公司的单片机命名规则相当规范,能够帮助用户快速识别出单片机的具体配置和特性。以下是对AT89C系列单片机命名规则的详细解析: 1. **前缀**:“AT”表示该产品属于ATMEL公司。 2. **型号**: - “89CXXXX”...

    通用VBA程序变量命名规则

    下面我们将详细探讨通用的VBA程序变量命名规则: 1. **清晰性**:变量名应清晰地反映出其用途,以便其他开发者或未来的你一眼就能看出它存储的数据类型或功能。例如,如果变量用于存储员工的年龄,可以命名为`...

    C#命名规范大家都知道写程序应该有个好的命名规范,好的命名是为了工作方便,可以方便调用控件等

    在编程世界中,命名规范是至关重要的,尤其是在C#这种强类型语言中。良好的命名习惯不仅可以提高代码的可读性,还能提升团队合作的效率,因为每个开发者都能快速理解他人的代码意图。以下是对C#命名规范的详细阐述:...

    JAVA编程命名规范Java-开发命名规范

    JAVA命名规范是JAVA开发中非常重要的一部分,它规定了JAVA程序中的命名规则,以提高代码的可读性和可维护性。该规范涵盖了JAVA中的各种命名规则,包括包命名、类命名、方法命名、参数命名、变量命名和常量命名等。 ...

    安卓程序开发命名及编程规范

    安卓程序开发命名及编程规范,包括Java文件、包命名、变量命名、控件命名等

    java/c#/js编程命名规范

    本文将深入探讨几种常见的编程命名规范,包括骆驼命名法、帕斯卡命名法、匈牙利命名法以及接口类命名规则,这些规范在Java、C#、JavaScript等主流编程语言中被广泛采用。 ### 骆驼命名法 骆驼命名法分为小驼峰命名...

Global site tag (gtag.js) - Google Analytics