目录

  • 一、命名规则
    • 1. 标识符
    • 2. 标识符命名规则
      • 2.1 常见的命名法则
      • 2.2 变量、常量、函数的命名(Windows 应用程序下)
        • 2.2.1 变量命名
        • 2.2.2 常量
        • 2.2.3 函数名和类名
        • 2.2.4 类的数据成员
    • 3. 特别关注
    • 4. 常见缩写词

一、命名规则

1. 标识符

标识符是指用来识别某个实体的一个符号,在不同的应用环境下有不同的含义。

计算机编程语言中,标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。
 
标识符通常由字母数字以及其它字符构成。

2. 标识符命名规则

2.1 常见的命名法则

(1)匈牙利命名法(一般不用)

主要思想:在变量和函数名中加入前缀以增进人们对程序的理解。
以一个或者多个小写字母开头作为前缀;前缀之后紧跟的是首字母大写的一个单词或多个单词组合。

“匈牙利”法最大的缺点是烦琐,例如:

int i, j, k;
float x, y, z;

倘若采用“匈牙利”命名规则,则应当写成

int iI, iJ, ik; // 前缀 i 表示 int 类型
float fX, fY, fZ; // 前缀 f 表示 float 类型

如此烦琐的程序会让绝大多数程序员无法忍受。

(2)骆驼(Camel)命名法

主要思想:混合使用大小写字母来构成标识符的名字。
其中第一个单词首字母小写,余下的单词首字母大写。

例如:函数名 printEmployeePaychecks()

(3)帕斯卡(Pascal)命名法

帕斯卡命名法与骆驼命名法类似。
唯一不同的时帕斯卡命名法是第一个单词首字母大写

例如:DisplayInfo() 和 UserName 都是采用了帕斯卡命名法。

C++中,以帕斯卡命名法和骆驼命名法居多。
事实上,很多程序设计者在实际命名时会将骆驼命名法和帕斯卡结合使用,
例如变量名采用骆驼命名法,而函数采用帕斯卡命名法

(4)下划线命名法

下划线法是随着C 语言的出现流行起来的,在UNIX/LIUNX这样的环境,以及GNU代码中使用非常普遍。

例如:my_name

2.2 变量、常量、函数的命名(Windows 应用程序下)

2.2.1 变量命名

(1)局部变量
     变量和参数用小写字母开头的单词组合而成。
     一般使用“名词”或者“形容词+名词”
     单字符的名字也是常用的,如i, j, k等

int i = 0;
int j = 0;
float value = 0;
float oldValue = 0;   //骆驼命名法

(2)全局变量(尤其是供外部访问的全局变量),应加g_词冠 (表示global)

int g_howManyPeople; // 全局变量
int g_howMuchMoney; // 全局变量
int g_capture_hook;// 全局变量

(3)静态变量,应加s_词冠(表示static)

     例如:static int s_initValue;

2.2.2 常量

常量全用大写的字母,用下划线分割单词。

const int MAX = 100;
const int MAX_LENGTH = 100;

2.2.3 函数名和类名

(1)类名和函数名用大写字母开头的单词组合而成。
     一般为“动词”或者“动词+名词”(动宾词组)。

class Node; // 类名
class LeafNode; // 类名
void Draw(void); // 函数名
void SetValue(int value); // 函数名(帕斯卡命名法)

(2)函数也可采用下划线命名法命名。

get_max();

2.2.4 类的数据成员

类的数据成员加前缀 m_(表示 member),这样可以避免数据成员与成员函数的参数同名。

void Object::SetValue(int width, int height)
{
m_width = width;
m_height = height;
}

3. 特别关注

(1)标识符应当直观且可以拼读,可望文知意,不必进行“解码”。

标识符最好采用英文单词或其组合,便于记忆和阅读。切忌使用汉语拼音来命名。
程序中的英文单词一般不会太复杂,用词应当准确。例如不要把 CurrentValue 写成NowValue。

(2)几十年前老 ANSI C 规定名字不准超过 6 个字符,现今的 C++/C不再有此限制。一般来说,长名字能更好地表达含义,所以函数名、变量名、类名长达十几个字符不足为怪。

     那么名字是否越长约好?不见得!
      例如:变量名 maxval 就比 maxValueUntilOverflow好用。

(3)程序中不要出现仅靠大小写区分的相似的标识符。

int x, X; // 变量 x 与 X 容易混淆
void foo(int x); // 函数 foo 与 FOO 容易混淆
void FOO(float x);

(4)用正确的反义词组命名具有互斥意义的变量或相反动作的函数等。

int minValue;
int maxValue;
int SetValue(…);
int GetValue(…);

(5)命名规则尽量与所采用的操作系统或开发工具的风格保持一致

      例如 :Windows 应用程序的标识符通常采用“大小写”混排的方式。
     例如 :AddChild。

     Unix 应用程序的标识符通常采用“小写加下划线”的方式。
      如 add_child。

     别把这两类风格混在一起用!

4. 常见缩写词

原词 缩写
addition add
subtraction sub
multiplication mul 乘法
division div 除法
answer ans 响应、回答
array arr 数组、集合
average avg 平均
capture cap或capt 捕获
check chk 检查
count cnt 计数器
column col
control ctrl 控制
decode dec 解码、译码
define def 定义
delete del 删除
destination dst或dest 目的
display disp 显示
encode enc 编码
environment env 环境
float flt 浮动、浮点
frequency freq 频率
header hdr 开始、开头
index idx 索引、指示
image img 影像、镜像
increment inc 增加、增量
initialize init 初始化
iteration itr 循环、迭代
length len 长度
memory mem 内存
middle mid 中值
make mk 制造、形成
message msg 消息
number num 数量、编号
operand opnd 操作数
optimization opt 最优
operator optr 操作
pointer ptr 指针
receive recv 收到、接收
return ret 返回
source src 源头
stack stk
string str 字符串
table tab
temporary tmp或temp 临时
time stamp ts 时间戳
value val

【代码风格之标识符命名篇】让你的代码更加规范,简洁易懂!相关推荐

  1. 代码风格统一: 使用husky, prettier, eslint在代码提交时自动格式化,并检查代码。...

    引言 这个需求主要是组内成员用的编辑器不统一,代码风格也各异,所以在修改代码时,如果格式化了代码,在code review阶段很难分辨修改了的代码.当然,代码风格统一还有其他好处,这里就不不多废话了. ...

  2. python代码风格程序越复杂越高级_Python中代码风格的改变和相应的性能优化

    使用现代风格改善你的代码 一旦你开始使用 Python 3,你就有机会接触新的特性来改善你的代码.这篇文章中提到的很多东西实际上在 Python 3 之前就已经被支持了.但我还是要提一下它们,因为知道 ...

  3. FPGA之道(1)HDL代码风格

    文章目录 前言 代码风格 具体的代码风格 我的总结 前言 这个2020年是多灾多难的一年,作为被困在家无所事事的普通老百姓我来说,憋得实在难受,想想在学校的过去时间是如此之珍贵,此刻如此虚度,甚是愧疚 ...

  4. matlab 代码风格,10 Matlab 函数与代码风格

    函数 函数,本质上是一种可复用的代码.现实生活中,有大量的工作都是重复的,变化的只是其中一小部分. 举个例子,假如要你计算 " 1+2+3+4+5+6+7+8+9+10 ",最简单 ...

  5. Visual Studio Code 使用 ESLint 增强代码风格检查 - gyzhao - 博客园

    前言 在团队协作开发中,为了统一代码风格,避免一些低级错误,应该设有团队成员统一遵守的编码规范.很多语言都提供了Lint工具来实现这样的功能,JavaScript也有类似的工具:ESLint.除了可以 ...

  6. python代码风格

    pep8:Python代码风格检查工具 Python官网定义的代码风格 PEP 0008 – Style Guide for Python Code. pep8是检测编码风格是否符合 PEP 0008 ...

  7. 1.6 Scala代码风格

    本文来自艾叔编著的<零基础快速入门Scala>免费电子书,添加文末艾叔微信,获取完整版的PDF电子书 1.6  Scala代码风格 每种语言都有自己的代码风格或规范,Scala也不例外,规 ...

  8. 前端架构师神技,三招统一团队代码风格

    本文从代码规范,代码检查,代码格式化,以及编辑器自动化实现的方向,介绍代码规范统一在我们团队的实践应用. 大纲预览 本文介绍的内容包括以下方面: 认识代码规范 制定和统一规范 神技一:ESLint 神 ...

  9. 前端通过eslint+prettier+husky统一代码风格

    背景 多人协作项目,会遇到每个人都有自己的代码风格.所以需要通过工具来统一代码风格. husky是什么? 当您提交或推送时,您可以使用 husky 来检查您的提交消息.运行测试.检查代码等Husky ...

最新文章

  1. String创建方式及其区别(快速了解)
  2. LeetCode实战:不同路径
  3. CentOS7.4下建立DNS主从服务器(二)
  4. 微软发布Azure Application Insights for Node.js 1.0版本
  5. ucosii事件控制块------消息邮箱与消息队列
  6. 解决问题 inner element must either be a resource reference or empty.
  7. html中和over怎么显示div,js 解决隐藏与显示div的相关问题
  8. 顺序表循环队列:创建初始化、入队、出队、获取队列头数据、计算队列有效数据长度...
  9. Python中使用PIL快速实现灰度图
  10. 根据IP地址查询其所属城市
  11. 使用Adobe Audition生成基本音频
  12. wpf 图片绝对路径引用_Python Pillow 图片处理
  13. 深度学习 --- 卷积神经网络CNN(LeNet-5网络学习算法详解)
  14. 《BI那点儿事》ETL中的关键技术
  15. easyui首页模板
  16. 层间距离对ct图像的影响_CT图像影响因素
  17. 怎样找回win7密钥
  18. Mysql个人学习总结
  19. [毕业设计] 基于单片机的智能快递柜设计与实现 - stm32 物联网
  20. 关于Python将plt文件坐标转换为TXT文本

热门文章

  1. Eclipse TFS使用
  2. 一文带你秒懂5G黑科技
  3. 非锐化掩蔽和高提升滤波
  4. 华为手机升级回退_华为鸿蒙还原EMUI系统-华为鸿蒙2.0回退到EMUI11官方还原工具下载V11.0.0.5601 官方版-西西软件下载...
  5. 【Http协议】Https简介
  6. java applet 输出多行_java – 在Applet中列出输入和输出音频设备
  7. adnroid studio debug模式提示 Method breakpoints may dramatically slow down debugging
  8. 财务软件中的借贷关系
  9. 从列表、字符串、元组或集合中随机抽取指定个元素 Python中random模块的sample()函数
  10. vue使用js-table2excel将数据导出Excel表格,含文字、图片类型, 设置表格样式/添加合并单元格