﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-Program The Future-随笔分类-『Software Engineering』</title><link>http://www.cppblog.com/issayandfaye/category/12283.html</link><description>自省、自信。
（欢迎和我一样的朋友在程序天地里探索求知，
鄙视回垃圾帖贴广告的人。）</description><language>zh-cn</language><lastBuildDate>Mon, 22 Mar 2010 21:08:03 GMT</lastBuildDate><pubDate>Mon, 22 Mar 2010 21:08:03 GMT</pubDate><ttl>60</ttl><item><title>骆驼命名法，帕斯卡命名法和匈牙利命名法</title><link>http://www.cppblog.com/issayandfaye/archive/2010/03/11/109424.html</link><dc:creator>iSsay</dc:creator><author>iSsay</author><pubDate>Thu, 11 Mar 2010 05:21:00 GMT</pubDate><guid>http://www.cppblog.com/issayandfaye/archive/2010/03/11/109424.html</guid><wfw:comment>http://www.cppblog.com/issayandfaye/comments/109424.html</wfw:comment><comments>http://www.cppblog.com/issayandfaye/archive/2010/03/11/109424.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cppblog.com/issayandfaye/comments/commentRss/109424.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/issayandfaye/services/trackbacks/109424.html</trackback:ping><description><![CDATA[<p><span class=Apple-style-span style="FONT-SIZE: 13px; LINE-HEIGHT: 19px; FONT-FAMILY: Verdana; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px">简单的说<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">MyData 就是一个帕斯卡命名法<br style="LINE-HEIGHT: normal">而myData是一个骆驼命名法,它第一个单词的第一个字母小写,后面的单词首字母大写,看起来像一个骆驼<br style="LINE-HEIGHT: normal">而iMyData是一个匈牙利命名法,它的小写的i说明了它的形态,后面的和帕斯卡命名相同,指示了该变量的用途.</span></p>
<p>&nbsp;</p>
<p align=left><span class=Apple-style-span style="FONT-SIZE: 13px; LINE-HEIGHT: 19px; FONT-FAMILY: Verdana; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px"><font style="LINE-HEIGHT: normal" size=3>一、匈牙利命名法</font>：广泛应用于象Microsoft Windows这样的环境中。<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Windows 编程中用到的变量（还包括宏）的命名规则匈牙利命名法，这种命名技术是由一位 Microsoft 程序员查尔斯&#183;西蒙尼(Charles Simonyi) 提出的。<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀，标识出变量的作用域，类型等。这些符号可以多个同时使用，顺序是先m_（成员变量），再指针，再简单数据类型，再其他。例如：m_lpszStr, 表示指向一个以0字符结尾的字符串的长指针成员变量。<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">&nbsp;&nbsp;&nbsp;&nbsp; 匈牙利命名法关键是：标识符的名字以一个或者多个小写字母开头作为前缀；前缀之后的是首字母大写的一个单词或多个单词组合，该单词要指明变量的用途。<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">匈牙利命名法中常用的小写字母的前缀：<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">前　缀&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 类　　型<br style="LINE-HEIGHT: normal">a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 数组 (Array)&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">b&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 布尔值 (Boolean)&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">by&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 字节 (Byte)&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 有符号字符 (Char)&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">cb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 无符号字符 (Char Byte，没有多少人用)&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">cr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 颜色参考值 (ColorRef)&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">cx,cy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 坐标差（长度 ShortInt）&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">dw&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Double Word&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">fn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 函数&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Handle（句柄）&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">i&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 整型&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 长整型 (Long Int)&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">lp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Long Pointer&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">m_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 类的成员&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 短整型 (Short Int)&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">np&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Near Pointer&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">p&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Pointer&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 字符串型&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">sz&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 以null做结尾的字符串型 (String with Zero End)&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Word&nbsp;&nbsp;<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal"><font style="LINE-HEIGHT: normal" size=3>二、骆驼命名法:</font><br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 骆驼式命令法，正如它的名称所表示的那样，是指混合使用大小写字母来构成变量和函数的名字。例如，下面是分别用骆驼式命名法和下划线法命名的同一个函数：<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">&nbsp;&nbsp;&nbsp; printEmployeePaychecks()；<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">&nbsp;&nbsp;&nbsp;&nbsp; print_employee_paychecks()；<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 第一个函数名使用了骆驼式命名法——函数名中的每一个逻辑断点都有一个大写字母来标记；第二个函数名使用了下划线法----函数名中的每一个逻辑断点都有一个下划线来标记。<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">&nbsp;&nbsp;&nbsp;&nbsp; 骆驼式命名法近年来越来越流行了，在许多新的函数库和Microsoft<br style="LINE-HEIGHT: normal">Windows这样的环境中，它使用得当相多。另一方面，下划线法是c出现后开始流行起来的，在许多旧的程序和UNIX这样的环境中，它的使用非常普遍。<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal"><strong style="LINE-HEIGHT: normal"><font style="LINE-HEIGHT: normal" size=3>三、帕斯卡（pascal）命名法：</font></strong><br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 与骆驼命名法类似。只不过骆驼命名法是首字母小写，而帕斯卡命名法是首字母大写<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如：public void<br style="LINE-HEIGHT: normal">DisplayInfo();<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string UserName;<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 二者都是采用了帕斯卡命名法.<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">在C#中，以帕斯卡命名法和骆驼命名法居多。<br style="LINE-HEIGHT: normal"></p>
</span>
<p><span class=Apple-style-span style="FONT-SIZE: 13px; LINE-HEIGHT: 19px; FONT-FAMILY: Verdana; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px">转自<a href="http://www.zouyang.net/post/219.html">http://www.zouyang.net/post/219.html</a></p>
</span>
<img src ="http://www.cppblog.com/issayandfaye/aggbug/109424.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/issayandfaye/" target="_blank">iSsay</a> 2010-03-11 13:21 <a href="http://www.cppblog.com/issayandfaye/archive/2010/03/11/109424.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>