匈牙利命名法

其基本原则是,变量名=属性+类型+对象描述。其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分

广泛应用于像MicrosoftWindows这样的环境中。Windows编程中用到的变量(还包括宏)的命名规则匈牙利命名法,这种命名技术是由一位能干的 Microsoft 程序员查尔斯•西蒙尼(Charles Simonyi)提出的。

匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等。这些符号可以多个同时使用,顺序是先m_(成员变量),再指针,再简单数据类型,再其他。例如:m_lpszStr,表示指向一个以0字符结尾的字符串的长指针成员变量。

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

在windowsForm应用程序中,控件命名采用匈牙利命名法。例如:

TextBox类型,前缀加txt,命名为txtCustomerName,txtAddress。

Button类型,前缀加btn,命名为btnSave,btnDelete。

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

前缀           类型
a              数组 (Array)
b              布尔值 (Boolean)
by             字节 (Byte)
c              有符号字符 (Char)
cb             无符号字符 (Char Byte,没有多少人用)
cr             颜色参考值 (ColorRef)
cx,cy          坐标差(长度 ShortInt)
dw             Double Word
fn             函数
h              Handle(句柄)
i              整型
l              长整型 (Long Int)
lp             Long Pointer
m_             类的成员
n              短整型 (Short Int)
np             Near Pointer
p              Pointer(指针)
s              字符串型 (string)
sz             以null做结尾的字符串型(String with Zero End)
w              Word

下划线命名法

每一个逻辑断点都有一个下划线来标记,下划线法是随着C语言的出现流行起来的,在UNIX/LIUNX这样的环境,以及GNU代码中使用非常普遍,

Linux下建议的命名规则如下

(1)变量名必须有一定的意义,并且意义准确。例如有一个变量用于保存图书的数目,可以命名为number_of_book或者num_of_book。不建议使用i,因为它没有意义。也不建议使用number或book,因为意义不准确。

(2)不建议大小写混用。如定义一个计数变量,int nCount;这在Windows中是一个很好的变量名,其中nCount的首字母n用来说明这个变量的类型是int。但在Linux下不建议大小写混合使用,一般标识符只由小写字母,数字和下划线构成。

(3)在失去意义的情况下,尽量使用较短的变量名。例如有一个变量,用于暂时存储一个计数值,把变量命名为tmp_count显然要比this_is_a_temperary_counter好。

(4)不采用匈牙利命名法表示变量的类型。如int nCount;n用于说明变量的类型,在Linux中不建议这样命名变量。

(5)函数名应该以动词开头,因为函数是一组具有特定功能的语句块。比如一个函数,它用于取得外部输入的数值,则可以命名为get_input_number。

(6)尽量避免使用全局变量。

骆驼命名法

每一个逻辑断点都有一个大写字母来标记,是指混合使用大小写字母来构成变量和函数的名字,

帕斯卡命名法

:与骆驼命名法类似只不过骆驼命名法是首字母小写,而帕斯卡命名法是首字母大写,在C#中,以帕斯卡命名法和骆驼命名法居多。

编程规范

类型                                                命名规则                                                         说明

命名空间 namespace               Pascal    以.分隔,其中每一个限定词均为Pascal命名方式,

如:ExcelQuicker.Work

类class、结构struct              Pascal   每一个逻辑断点首字母大写,如:

public class MyHome;public struct MyStruct

接口 interface                   IPascal  每一个逻辑断点首字母大写,总是以I前缀开始,后接Pascal命

名,如:public interface IBankAccount

方法 method                      Pascal   每一个逻辑断点首字母大写,动宾短语,如:

private void SetMember(string)

枚举类型enum                     Pascal   每一个逻辑断点首字母大写

委托delegate                     Pascal   每一个逻辑断点首字母大写

局部变量、方法参数、委托参数     Camel   首字母小写,之后Pascal命名,如:string myName

变量命名规范 匈牙利 下划线 骆驼 帕斯卡相关推荐

  1. 骆驼命名法变量命名规范——匈牙利命名法、骆驼命名法、帕斯卡命名法、下划线命名法

    骆峰式命名法(Camel-Case)是电脑程式编写时的一套命名规则(惯例). 骆峰式命名法就是当变量名或函式名是由一个或多个单字连结在一起,而构成的唯一识别字时 ,第一个单词以小写字母开始:第二个单词 ...

  2. 变量命名规范--匈牙利命名法,骆驼命名法,帕斯卡命名法

     一.匈牙利(Hungarian)命名法: 广泛应用于像MicrosoftWindows这样的环境中.Windows编程中用到的变量(还包括宏)的命名规则匈牙利命名法,这种命名技术是由一位能干的 ...

  3. 常用命名规范分类:匈牙利命名法、下划线命名法、驼峰命名法、帕斯卡命名法

    目录 1.匈牙利命名法(Hungarian) 变量属性 2.下划线命名法(UnderScoreCase) 3.驼峰命名法(小驼峰命名法)(Camel) 4.帕斯卡命名法(大驼峰命名法)(Pascal) ...

  4. 四种编程命名规则:驼峰命名法,帕斯卡命名法,匈牙利命名法,下划线命名法

    人们交流靠各种语言,每行都有每行的所谓的"行话".程序员也不例外,众所周知,程序员都是用代码进行交流的.那么除了在代码中的注释之外, 程序员如何读懂别人的程序呢? 当然,程序员之间 ...

  5. 骆驼命名法,帕斯卡命名法与下划线命名法

    骆驼式命名法: 正如它的名称所表示的那样,是指混合使用大小写字母来构成变量和函数的名字.例如,下面是分别用骆驼式命名法和下划线法命名的同一个函数: 插入代码:        printEmployee ...

  6. 【日常学习】命名规则 - 驼峰命名法、帕斯卡命名法、匈牙利命名法、下划线命名法

    变量如果随便起名字,不仅其他工作人员难以交接,自己看着也非常混乱,如果按照命名规则进行管理,代码可读性会大大提升 文章参考博客:局外人Lee - 三种编程规则:驼峰命名法.帕斯卡命名法.匈牙利名 f- ...

  7. 四种常用的命名规则:帕斯卡命名法、驼峰命名法、下划线命名法、匈牙利命名法

    帕斯卡命名法.驼峰命名法.下划线命名法.匈牙利命名法 其中前三种用的比较多. 1,帕斯卡命名法(Pascal) 程序代码示例: ShowMessage(); string PassWord; 单字之间 ...

  8. 帕斯卡命名法、驼峰命名法、下划线命名法

    帕斯卡命名法.驼峰命名法.下划线命名法.匈牙利命名法 其中前三种用的比较多. 帕斯卡命名法(Pascal) 程序代码示例: ShowMessage(); string PassWord; 单字之间不以 ...

  9. Python带_的变量或函数命名,带下划线的方法

    python中的标识符可以包含数字.字母和_,但必须以字母或者_开头,其中以_开头的命名一般具有特殊的意义 目录 单前置下划线的名字: 1.作为类名或函数名时, 2.作为类的属性名或方法名时 前后均带 ...

最新文章

  1. python中循环迭代语句_python条件与循环-循环
  2. thinkphp URL相关
  3. nagios错误: 无法打开要更新的命令文件
  4. IntelliJ IDEA 修改单行注释的格式
  5. 跟计算机有关的比赛策划,计算机协会“装机大赛”活动策划书
  6. 如何在服务器运行aspx_ASP.NET开发实战——(四)MVC是如何运行?它的生命周期是什么?...
  7. sql server计算机用户权限,SQL Server新增用户并控制访问权限设置。
  8. Java Web学习总结(34)——拦截器和过滤器的差异总结
  9. 80后:从“A”到“Z”的26条生存法则 (转)
  10. JNI学习-- C调用java方法
  11. 《跟阿铭学Linux》第12章 shell脚本中的变量:课后习题与答案
  12. Windows 安全杂记(一)
  13. 电商网站前台模板_湖州搜索引擎优化网站网络推广营销公司
  14. uniapp安卓端禁止截屏允许截屏
  15. 线性代数(1)- 向量空间
  16. html 复选框 不能编辑,javascript-jqGrid-复选框编辑无法编辑所选行
  17. Python爬虫抓取基金数据
  18. 朋友圈广告投放优势及广告投放案例分享
  19. 异步电动机的机械特性(转速/转矩-电流特性)
  20. 【猿哥学二建】第一周 考试准备

热门文章

  1. Keil的HTM 文件分析
  2. Python组织文件 实践:将文件的不同版本备份为ZIP文件
  3. java - 把日志生成到指定目录
  4. dedecms 后台添加新字段
  5. ASP.NET Core 中的 startup类
  6. Ceph Storage Cluster(CEPH存储集群) Configuration配置
  7. activeMq 安装
  8. PhpStorm函数注释的设置
  9. 关于xib里面的NSLayoutConstraint的multiplier修改
  10. 使用 flex 实现 5 种常用布局