通过一定的命名规则区分结构变量、函数参数和局部变量,有助于提高程序的可读性。比如,图1就是采用笔者所惯用的命名规则所写出来的程序。这一规则是:
   1)    对于结构或C++类中的成员变量,在变量名的后面加一个“_”。
   2)    在函数的参数名前加一个“_”。
   3)    局部变量和全局变量则不在其前、后加“_”。

example.c
00123: typedef struct dll_node
00124: {
00125:     struct dll_node *prev_;
00126:     struct dll_node *next_;
00127: } dll_node_t;
00128:
00129: static bool mem_find_neighbor (dll_node_t *_p_node, void *_p_key)
00130: {
00131:     maddr_t addr = *(maddr_t *)_p_key;
00132:     mnode_t *p_mnode = (mnode_t *)_p_node;
00133:     mnode_t *p_next = (mnode_t *)p_mnode->node_.next_;
00134:
00135:     if (p_next == 0 || p_mnode->addr_ > addr) {
00136:         return false;
00137:     }
00138:
00139:     // we try to find the node that its address is less than [addr]
00140:     // but the address of following node is bigger than [addr]
00141:     if ((p_mnode->addr_ < addr) && (p_next->addr_ > addr)) {
00142:         return false;
00143:     }
00144:
00145:     return true;
00146: }

图1

在很多情形下,需要在函数内部定义局部变量,且有时所定义的局部变量名与函数的传入参数名可能存在同名。如果不采用命名规则区别函数参数和局部变量,那可能需要定义一个xxx_temp局部变量,如此一来其可读性不是很好。采用笔者的方法,则如果函数参数是_xxx,仍就可以定义一个局变量名xxx。当程序的读者看到这两个变量时,就能快速的知道两者的功能是一致的,只不过一个是函数的参数,而另一个则是函数内部的局部变量。

转载于:https://blog.51cto.com/yunli/259685

【编程好习惯】通过命名规则区分变量相关推荐

  1. python3变量命名规则_Python变量命名规则

    变量名可以包括字母.数字.下划线, 但是数字不能作为变量的开头.例如,name1 是合法的变量名,而 1name 就不是,如下所示: >>> name1=5 >>> ...

  2. 符合python语言变量命名规则_Python变量命名规则

    变量的命名规则 1.要具有描述性 2.变量名只能_,数字,字母组成,不可以是空格或者特殊字符([email protected]#$%^&*~) 3.不能以中文为变量名 4.不能以数字开头 5 ...

  3. java变量命名规则_C++变量的命名规则

    C++程序中出现的每个变量都是由用户在程序设计时命名并定义的.变量命名时要注意以下几点: (1)变量名必须按照C++语言规定的标识符命名原则命名.在C++中标识符用来定义变量名.函数名.类型名.类名. ...

  4. 【PHP自学笔记】变量的命名规则和变量作用域

    最近快结课了,也没啥考试,主要是在面试和准备面试,想着剩余时间自学点PHP. 主要参考的是菜鸟教程.w3school 命名规则 以$开头,$号后面是变量名,变量名区分大小写: 变量名开头必须是字母或者 ...

  5. java变量命名规则_Java变量命名规则规范

    Java变量命名规则规范 分类 Camel 标记法:首字母是小写的,接下来的单词都以大写字母开头 Pascal 标记法:首字母是大写的,接下来的单词都以大写字母开头 匈牙利标记法:在以Pascal标记 ...

  6. java变量命名规则_变量的概念和声明

    变量就是声明来保存数据的内存空间,在js中声明变量使用的是var关键字.而且在js中声明的变量可以保存任何类型的数据,就是没有指定某个变量只能保存对应的类型的数据,所以js被叫做弱类型语言. < ...

  7. 变量命名规则_Java变量与常量

    有智者立长志,无志者长立志. 变量是什么? 变量就是可以变化的量,也可以理解为起名字,比如:水(有多少水不知道,可以有2吨水,也可以是4吨水) int i = 1;int i1 = 3;char c ...

  8. java的变量命名规则_java变量命名规则

    包的命名:字母都小写 类的命名名:每个单词的首字母大写 方法的命名:第一个单词的字母小写,其他大写 (一)Package(包)的命名: Package的名字应该都是由一个小写单词组成,例如net.eb ...

  9. JAVA编程中标识符的命名规则

    标识符:就是给类,接口,方法,变量等起名字时使用的字符序列. 标识符的组成规则: a.以英文大小写字母组成 b.数字字符 c.$和_ 注意事项: a.不能以数字开头 b.不能是JAVA中的关键字 c. ...

最新文章

  1. java删除有序数组中的重复元素_java去除已排序数组中的重复元素
  2. linux安装教程6.3,CentOS 6.3安装教程(详细图解)
  3. 小程序app is not defined
  4. js与Ajax实现浮动留言板(留言写入sqlserver数据库)
  5. django 模板两次for循环_Django模板之基本的 for 循环 和 List内容的显示方式
  6. YAML文件(.yml)中的键(key)通过变量引用来设置
  7. 收藏10个2012年最新发布的jQuery插件
  8. Python教程:丛入门到实践
  9. mysql 命令查看sql文件大小_用SQL命令查看Mysql数据库大小
  10. php xml与数组的转换函数
  11. css旋转45度_Matplotlib中的文字旋转问题
  12. 超市防盗止损人脸识别摄像头
  13. 介绍一个开源博客项目并部署到Nginx服务器
  14. Wave VR Native SDK学习(一)
  15. 拼多多商品发布规则|一度智信
  16. 从零搭建 SpringCloud 服务
  17. 傅里叶Fourier变换fft-python-scipy-幅值-辐角-相位(二)
  18. 7-2 点赞(20 分)
  19. Project 2013设置节假日日历
  20. 【python】使用python将多个视频合并、延长视频的时间

热门文章

  1. 那些公司用计算机仪表电缆,计算机及仪表用电缆技术
  2. 十大经典排序C++实现及动图演示
  3. 【C++基础之十一】虚函数的用法
  4. php微框架 flight源码阅读
  5. JAVA并发编程实践笔记
  6. Python爬虫从入门到放弃(十一)之 Scrapy框架整体的一个了解
  7. 网络通信中关于请求数据、断点续传和写入本地文件
  8. tornado实现基于websocket的好友一对一聊天功能
  9. mysqldump备份还原
  10. js判断是否以xxx结尾