匈牙利命名法

匈牙利命名法是早期的规范,由微软的一个匈牙利人发明的,是 IDE 还十分智障的年代的产物。那个年代,当代码量很多的时候,想要确定一个变量的类型是很麻烦的,不像现在 IDE 都会给提示,所以才产生了这样一个命名规范,估计现在已经没啥人用了吧……一个十分系统却又琐碎的命名规范。

该命名规范,要求前缀字母用变量类型的缩写,其余部分用变量的英文或英文的缩写,单词第一个字母大写。

Ex

int 

其他

前缀类型还有:

a      数组(Array)
b      布尔值(Boolean)
by     字节(Byte)
c      有符号字符(Char)
cb     无符号字符(Char Byte,并没有神马人用的)
cr     颜色参考值(Color Ref)
cx,cy  坐标差(长度 Short Int)
dw     双字(Double Word)
fn     函数(Function)
h      Handle(句柄)
i      整形(Int)
l      长整型(Long Int)
lp     长指针(Long Pointer)
m_     类成员(Class Member)
n      短整型(Short Int)
np     近程指针(Near Pointer)
p      指针(Pointer)
s      字符串(String)
sz     以 Null 做结尾的字符串型(String with Zero End)
w      字(Word)

还有其他更多的前缀是根据微软自己的 MFC/句柄/控件/结构等东西定义的,就不过多描述了。

驼峰式命名法

驼峰式命名法,又叫小驼峰式命名法(所以自然就存在大驼峰命名法啦……)。

该命名规范,要求第一个单词首字母小写,后面其他单词首字母大写,简单粗暴易学易用。

Ex

int myAge;
char myName[10];
float manHeight;

帕斯卡命名法

帕斯卡命名法,又叫大驼峰式命名法。

与小驼峰式命名法的最大区别在于,每个单词的第一个字母都要大写。

Ex

int MyAge;
char MyName[10];
float ManHeight;

下划线命名法

下划线命名法并不如大小驼峰式命名法那么备受推崇,但是也是浓墨重彩的一笔。尤其在宏定义和常量中使用比较多,通过下划线来分割全部都是大写的单词。

该命名规范,也是很简单,要求单词与单词之间通过下划线连接即可。

Ex

int my_age;
char my_name[10];
float man_height;

补充说明

随着技术的发展,命名规范也在不断的细化,一种命名规范早已无法系统的满足各方需求(匈牙利命名法除外,但是已经基本淘汰了),不同的语言不同 IDE 推崇的规范也有所不同,无法评判哪一种最好,但是可以肯定的是,集后三种命名规范大成者,一定是受众最广的。

例如,谷歌 C++ 编程规范,从项目的命名到文件的命名,再到类和变量以及宏定义的命名都做到了细致入微,充分的结合了下划线命名法与驼峰式命名法(早先推崇的小驼峰,不过今年好像改成大驼峰了),又加入了一些新的元素,十分的系统完善。

当然,命名规范并不代表着编程规范,仅仅是编程规范的一部分而已,除去命名规范,还有很多编程上的细节是必须关注的,例如,等号两边留空格还是等号对齐?空行神马时候神马地方留更加符合代码结构?空格神马时候神马地方留更加美观?花括号是否对齐?

诸如此类,还有很多,无法一下子全部掌握并应用,但是在编程经验增加的过程中,一定也要不断的留意,自己所在的公司部门使用的是神马样的规范,没错,并不提倡大家练就自己的规范,一定要去融入工作环境的需求。

每次去新的工作环境,第一个要看的文档不是别的,一定是编程规范,如果没有这个东西,那么就努力去推一个统一的规范,推不动的话,那可以换工作了,否则日后将会带来无尽的麻烦。

手动滑稽.jgp

mfc编程淘汰了吗_四种基本的编程命名规范(匈牙利命名法、驼峰式命名法、帕斯卡命名法、下划线命名法)...相关推荐

  1. android 图片资源目录下,Android编程实现获取图片资源的四种方法

    本文实例讲述了Android编程实现获取图片资源的四种方法.分享给大家供大家参考,具体如下: 1. 图片放在sdcard中: Bitmap imageBitmap = BitmapFactory.de ...

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

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

  3. python怎么打下划线符号_详解 Python 中的下划线命名规则

    在 python 中,下划线命名规则往往令初学者相当 疑惑:单下划线.双下划线.双下划线还分前后--那它们的作用与使用场景 到底有何区别呢?今天 就来聊聊这个话题. 1.单下划线(_) 通常情况下,单 ...

  4. Python什么是闭包、闭包特征、定义闭包传入一个数求和并输出,定义一个装饰器:打印函数运行花费的时间,定义一个类:要求:包含一个对象属性,且用_(单下划线)命名的定义一个类方法(装饰器)

    1. 闭包.闭包特征及应用 1.1 什么是闭包? 闭包就是外部函数中定义一个内部函数,内部函数引用外部函数中的变量,外部函数的返回值是内部函数; 闭包是由函数及其相关的引用环境组合而成的实体(即:闭包 ...

  5. mfc编程淘汰了吗_工控编程,学完C++基础后再学什么?

    完?那是什么程度?STL用得熟练吗?算法和数据结构掌握得怎么样呢?会写界面吗?BOOST呢? 像楼上所说的换一种语言,简直是痴人说梦,如果不深入一门语言,夸张一点说,就好比你会用很多编程语言写&quo ...

  6. C/C++编程知识分享:C++四种强制转换,教你多种类型转换方式!

    C语言的强制转换为在数据面前之间加数据类型进行转换,即(目标数据类型)原数据类型.c++为了更好的区分强制转换的类型,达到见其名知其意的效果,共将强制转换分为四种,即 1.static_cast< ...

  7. 2016设置方框的尺寸_四种模板脚手架分类、优缺点及参数设置对比

    一.模板脚手架的分类及特点 模板脚手架按照连接形式,分为四类: ①钢管扣件式 ②碗扣式 ③承插型盘扣式 ④直插型盘扣式 钢管扣件式 规范JGJ130-2011<建筑施工扣件式钢管脚手架安全技术规 ...

  8. php 数据分别是怎么传的_四种php页面间传递数据方法

    我们定义page01.php和page02.php两个php文件,将page01中的内容想办法传递到page02,然后供我们继续使用. 第一种: 使用客户端浏览器的cookie.cookie很容易理解 ...

  9. swiper 上滑触发_四种方式快速实现上滑触底加载效果

    在智能小程序的开发过程中,上拉加载是一种十分常见的加载效果,最近也收到了一些开发者在开发上拉加载时遇到的问题,今天的内容就为您介绍一下如果想实现下述效果的上拉加载,我们需要如何去做. 以下是为大家总结 ...

最新文章

  1. containerd — 容器引擎
  2. Meterpreter
  3. UIProgressView的使用
  4. java动态代理技术
  5. 计算机检索基础知识,[转载]四 计算机文献检索基础知识(原理、结构和功能)...
  6. 分页解决方案 之 分页算法——Pager_SQL的思路和使用方法
  7. python学习(八)----外星人入侵(项目篇)
  8. 2016天猫快消母婴行业双11商家大会
  9. qtdesigner设计表格_Qt Designer下的一些基础操作
  10. 支付宝自动支付程序1.1算法注册机 Code.By.HackWm[D.S.T].
  11. 微信商家转账到零钱 V3(JAVA)转账与查询
  12. RabbitMQ在Docker中安装以及Management API returned status code 500错误
  13. 佳文分享:我个人比较受用的一些习惯
  14. 《数据解构》HashMap源码解读
  15. TOP100summit分享实录 | 如何构建一套全链路的故障追踪和故障自愈系统?
  16. 【图像处理】非线性滤波
  17. 安卓App太能乱来了!被曝一天扫你后台1.3万次:小米系统更新,一不小心扯出惊人真相...
  18. mpv官方文档部分快捷键
  19. 射频天线设计-Г、RL、VSWR、S
  20. iOS开发自定义键盘回车键Return Key

热门文章

  1. 小贷公司的风险成因及应对策略——策略篇
  2. EL表达式(Exprission language)
  3. 洛谷 P5089: CodeForces #500 (Div. 1) B / 1012B : Chemical table
  4. 基于virtualbox安装ubuntu18.04
  5. C#中用DateTime的ParseExact方法解析日期时间(excel中使用系统默认的日期格式)
  6. 在微信中调用ajax出现的问题
  7. StreamingAssets文件夹的读取异常
  8. mysql unauthenticated user原因分析以及解决方法
  9. sublime text3 中 python3编译出现中文乱码解决方法
  10. 解决vscode打开空白的问题