读书笔记_代码大全2第十一章_选择好的变量名
选择好的变量名的注意事项
- 名字要准确的描述出该变量所代表的事物(eg:好的变量名:currentDate,todayDate坏的变量名:cd,date)
- 以问题为导向
- 平均长度在10-16和8-20个字符时调试程序花费力气最小。
- 对位于全局命名空间中的名字加以限定词(eg:namedpace)。
(较长的名字适用于很少用到的变量或者全局变量)
(较短的名字则适用于局部变量或者循环变量)
变量名中的计算值限定词
表示计算结果的变量:总额,平均值,最大值,等等。
类似于Total,Sun,Average,Max,Min,Record,String,Pointer,这样的限定词来修饰某个名字,要把限定词加在名字后面。
变量名中常用对仗词
Begin/end
First/last
Locked/unlocked
Min/max
Next/previous
Old/new
Opened/closed
Visible/invisible
Source/target
Source/destination
Up/down
为变量命名
为循环下标命名
如果要在循环外使用或嵌套循环时,最好取一个比i,j,k更有意义的名字。
为状态变量命名
定义:用于描述你的程序状态(eg:flag)
取一个比flag更好的变量名。
为临时变量命名
定义:用于存储计算机的中间结果。作为临时占位符。
取一个比temp更详细的变量名(eg:discrimination判别式)
为布尔变量命名
- done
可用于表示循环结束或一些操作完成;事件完成前done为false,事情完成后为true。
- error
可用于表示有错误发生,;错误之前error为false,错误已经发生时error为true。
- found
可用于表示某个值已经找到;找到之前为false,找到之后为true。
- success/ok
可用于表示一项操作是否成功;操作失败时为false,操作成功时为true。
为枚举类型命名
可以使用组前缀(类似:Color_Red;Color_Green)
为常量命名
Eg:CYCLES_NEEDED
DONUTS_MAX
与语言无关的命名规则指导
区分类和对象
通过大写字母开头区分类型和变量
通过全部大写区分类型和变量
通过给类型加"t_"前缀区分类型和变量
通过给类型加"a"前缀区分类型和变量
通过对变量采用更明确的名字区分类型和变量
标识变量
标识全局变量:【g_+】 eg:g_RunningTotal
标识成员变量:【m_+】
标识类型声明:【t_+】
标识具名常量:【c_+】
标识枚举类型元素:【e_+】/【全部大写】/【eg:color_+】
在不能保证输入参数只读的语言里标识只读参数:【const_+】
格式化命名提高可读性:【】
用户自定义类型
读书笔记_代码大全2第十一章_选择好的变量名相关推荐
- 读书笔记_代码大全2第七章_高质量的子程序
创建子程序的正当理由 降低复杂度 把嵌套的部分提取出来形成一个独立的子程序,可以降低外围子程序的复杂度. 引入中间,易懂的抽象 避免代码重复 支持子类化 可覆盖的子程序保持简单,那在实现派生类时也会减 ...
- 【读书笔记】代码大全34章:软件工艺主题
这本书大部分讲的都是软件开发的细节,本章节讲的主要是从宏观角度讲解软件工艺. 控制复杂度 软件开发的精髓就是控制复杂度 降低复杂度的方法 将系统拆分成子系统 精心设计接口,尽量隐藏设计细节 避免使用全 ...
- 读书笔记_CLR.via.c#第十四章_字符,字符串和文本处理
对象初始化器 类 简单定义的类 类的构造函数 类的应用 嵌套的对象初始化器 集合初始化器 类型推理 Var myvar = 5; 匿名类型 动态查找
- 读书笔记_CLR.via.c#第十六章_数组
数组类型 值类型数组 引用类型数组 多维数组 交错数组 数组转换 Copy数组
- 读书笔记_代码大全_第14章_组织直线型代码_第15章_使用条件语句
组织直线型代码 + 使用条件语句 希望我的读书笔试能带你翻过18页的书 http://www.cnblogs.com/jerry19880126/ <代码大全>第14章和第15章的内容比较 ...
- 高等数学笔记-乐经良老师-第十一章-级数
高等数学笔记-乐经良老师 第十一章 级数 第一节 级数的概念和性质 一.级数的概念 01 无穷级数 设 u1,u2,-,un,-u_{1}, u_{2}, \ldots, u_{n}, \ldotsu ...
- CSAPP读书笔记与习题作业练习-第3章
CSAPP读书笔记与习题作业练习-第3章 疑问 疑问一 练习题3.26中为什么通过循环+异或可以判断二进制数中1的个数的奇偶性(已解决) 习题 练习题3.1 练习题3.2 练习题3.3 练习题3.4 ...
- Think Python读书笔记及课后习题---【前三章】
昨天明明可以靠脸吃饭却偏偏要靠实力吃饭的班主任给我推荐了<ThinPython><ThinPython><ThinPython>这本书,于是乎我便开始了我的啃书之路 ...
- 读书笔记 | 之Photoshop里Pantone色类型该如何选择
读书笔记 | 之Photoshop里Pantone色类型该如何选择 工作内容因为涉及到专色印刷,需考虑将RGB/CMYK模式下的色值转换为PANTONE专色值.PS的拾色器里有一个颜色库,可供不同的色 ...
最新文章
- CapsuleNet(了解)
- appium框架之bootstrap
- 在express.js上启用HTTPS
- python xlrd使用_python使用xlrd 操作Excel读写
- Android应用中去掉标题栏方法总结(Eclipse+Android Studio)
- linux mysql5.6 主从配置,CentOS7+mysql5.6配置主从
- energy in transition课文翻译_备战四六 | 四六级翻译常考固定表达,速记!
- HTML绿色风格农业科技公司网站源码
- 远程重启h3c路由器_梅林路由怎么开启远程访问
- Python+OpenCV:Feature Matching + Homography to find Objects
- 【pwnable.kr】passcode
- a标签点击不跳转的几种方法
- spring 读取配置文件
- 玩与学 | 《乐高EV3机器人搭建与编程》
- 2019最新《网易云课堂C++开发工程师案例-网吧收银系统(MFC+ADO)》
- centos6.6搭建LANP环境(yum)
- 消防工程师 5.气体灭火系统
- ​​【接口篇 / Wan】(7.0) ❀ 01. 配置 ADSL 拨号上网 ❀ FortiGate 防火墙
- 鸟哥的linux私房菜学习笔记7
- directx 11 64位