后端工程师后端应用技术程序猿阵线联盟-汇总各类技术干货

命名法总结(用于变量名、函数名、类名、文件名)

2016-06-01  本文已影响2002人  咚门

这些命名法可视为命名惯例,并无绝对与强制,为的是增加可识别性和可读性。一旦选用或设置好命名规则,在程序编写时应保持格式的一致性。

1. 驼峰命名法(Camel Case):

  • 小驼峰命名法(Lower Camel Case):第一个单词的首字母小写第二个单词开始每个单词的的首字母大写。例如:firstName、lastName。
  • 大驼峰命名法(Upper Camel Case:每一个单词的首字母都大写。例如:FirstName、LastName、CamelCase。也被称为 Pascal 命名法(Pascal Case),源自于 Pascal 语言的命名惯例。

2. Snake Case:这是书写复合词或短语的一种惯例(practice)。复合词或短语中的各个单词之间用下划线(_)分隔并且没有空格。复合词中的每一个单词的首字母通常都是小写的,并且复合词的第一个字母既可以是大写的又可以是小写的,例如:“foo_bar”和“Hello_world”。一般认为 Snake Case 的可读性要比 Camel Case 要强。

3. 匈牙利命名法(貌似没什么卵用,不用看了):首次在BCPL语言中被大量使用。由于BCPL只有机器字这一种数据类型,因此++这种语言本身无法帮助程序员来记住变量的类型。匈牙利命名法通过明确每个变量的数据类型来解决这个问题++。

系统命名法与应用命名法的区别在于前缀的目的。

  • 系统型匈牙利命名法(System Hungarian):前缀代表了变量的实际数据类型。
  • lAccountNum:变量是一个长整数("l");
  • arru8NumberList:变量是一个无符号8位整型数组("arru8");
  • szName:变量是一个零结束字符串("sz"),这是西蒙尼最开始建议的前缀之一。
  • 应用型匈牙利命名法(Apps Hungarian):前缀给出了变量目的的提示,或者说它代表了什么。
  • rwPosition:变量代表一个行("rw")。
  • usName:变量代表一个非安全字符串("us"),需要在使用前处理。
  • strName:变量代表一个包含名字的字符串("str")但是没有指明这个字符串是如何实现的。

4. Studly caps:这是驼峰命名法的变种。相关资料比较少,wiki上的介绍

Messages may be hidden in the capital and lower-case letters such as "ShoEboX" which spells "SEX" in capitals and "hobo" in lower-case. The webmail service Hotmail was originally stylized as HoTMaiL, which spells HTML in upper-case.

5. 额。。。用“-”作为分隔符的命名法叫什么?没找到相关的资料~但在 vuejs 的文档中看到这个术语:短横分隔命名kebab-case

上一篇下一篇

猜你喜欢

热点阅读