代码大全_第3部分: 变量
2016-03-25 23:24
246 查看
第10章: 使用变量的一般事项
总结: 代码的可读性比可写性更加重要
就近原则: 当读代码时, 需要同时考虑的变量越少, 代码越容易看懂.
在靠近变量第一次使用的位置声明, 定义和初始化
尽量缩小变量的作用域, 使用final/const 限制变量的变化可能
尽量将相关代码放在一起
为变量指定单一用途
尽量将一个事情(变量)的描述集中在一起, 这样:
容易理解
避免在中间被误修改
逻辑上也更为清晰
其他:
避免让代码有隐含含义, 代码越简单越好, 远离各种奇技淫巧
灵活性与复杂性: 越灵活往往也意味着越复杂, 需要取舍
将所有变量都放在开始声明可能并不是一个好的做法, 应该将代码按逻辑分为若干小块, 在每一块的开头声明该块中需要用到的所有变量. 只有在多个块中用到的变量放在函数开头声明. 同时避免单个函数过长
第11章: 变量名的力量
变量命名原则:
有意义: 宁可写一个长的有意义的名字, 也比短的无意义或有歧义的强
长度: 一般10 ~ 16个字符为最佳, 2到3个单词
尽量不用缩写: 有歧义, 易混淆
最好的变量名包括: 变量内容, 变量类型, 作用域 通常在成员变量前加m_, 全局变量前加g_
采用一套命名规则: 用什么样的规则不重要, 关键是要有规则
一些小的点:
将修饰词(如Total, Sum)放在变量名的后面, 描述失误本质的词放在前面 例如carTotal, threadTotal 看起来比totalCar, totalThread更有区分度
在复杂的代码中变量名最好有完整的含义, 如 currentData 好于current
第12章: 基本数据类型
原则性问题:
避免magic number 或magic string, 使用具名常量
一些小的点:
尽量避免隐式类型转换
浮点数尽量避免两个相差很大的数相加减
字符数组中可以将数组长度声明为字符串长度 + 1, 用来存放'\0'
当一个判断条件非常复杂时, 可以用若干布尔变量来使程序更加清晰易懂
如果用了具名常量或自定义类型(typedef), 就都使用
给自定义类型起名时, 一般描述现实世界的名字(如Pageid)比描述计算机概念的名字(如BigInteger)更好
第13章: 不常见的数据类型
原则性问题:
释放一个指针后显式地置NULL,
尽量不用全局变量, 如果有必要可以用一个访问器或单例
4000
一些小的点:
一般来说, 纯数据的事情可以用struct来表示, 而不是类. 例如给函数传参, 或描述数据关系
每个指针包含两部分内容: 内存中的某个位置和如何解释该位置的内容
避免连续使用指针, 用一个新的变量代替这种方式
总结: 代码的可读性比可写性更加重要
就近原则: 当读代码时, 需要同时考虑的变量越少, 代码越容易看懂.
在靠近变量第一次使用的位置声明, 定义和初始化
尽量缩小变量的作用域, 使用final/const 限制变量的变化可能
尽量将相关代码放在一起
为变量指定单一用途
尽量将一个事情(变量)的描述集中在一起, 这样:
容易理解
避免在中间被误修改
逻辑上也更为清晰
其他:
避免让代码有隐含含义, 代码越简单越好, 远离各种奇技淫巧
灵活性与复杂性: 越灵活往往也意味着越复杂, 需要取舍
将所有变量都放在开始声明可能并不是一个好的做法, 应该将代码按逻辑分为若干小块, 在每一块的开头声明该块中需要用到的所有变量. 只有在多个块中用到的变量放在函数开头声明. 同时避免单个函数过长
第11章: 变量名的力量
变量命名原则:
有意义: 宁可写一个长的有意义的名字, 也比短的无意义或有歧义的强
长度: 一般10 ~ 16个字符为最佳, 2到3个单词
尽量不用缩写: 有歧义, 易混淆
最好的变量名包括: 变量内容, 变量类型, 作用域 通常在成员变量前加m_, 全局变量前加g_
采用一套命名规则: 用什么样的规则不重要, 关键是要有规则
一些小的点:
将修饰词(如Total, Sum)放在变量名的后面, 描述失误本质的词放在前面 例如carTotal, threadTotal 看起来比totalCar, totalThread更有区分度
在复杂的代码中变量名最好有完整的含义, 如 currentData 好于current
第12章: 基本数据类型
原则性问题:
避免magic number 或magic string, 使用具名常量
一些小的点:
尽量避免隐式类型转换
浮点数尽量避免两个相差很大的数相加减
字符数组中可以将数组长度声明为字符串长度 + 1, 用来存放'\0'
当一个判断条件非常复杂时, 可以用若干布尔变量来使程序更加清晰易懂
如果用了具名常量或自定义类型(typedef), 就都使用
给自定义类型起名时, 一般描述现实世界的名字(如Pageid)比描述计算机概念的名字(如BigInteger)更好
第13章: 不常见的数据类型
原则性问题:
释放一个指针后显式地置NULL,
尽量不用全局变量, 如果有必要可以用一个访问器或单例
4000
一些小的点:
一般来说, 纯数据的事情可以用struct来表示, 而不是类. 例如给函数传参, 或描述数据关系
每个指针包含两部分内容: 内存中的某个位置和如何解释该位置的内容
避免连续使用指针, 用一个新的变量代替这种方式
相关文章推荐
- wget完成ftp链接下载
- google工具包
- Calculator Part Ⅰ (代码规范化修改)
- java 递归
- Spring事务管理(详解+实例)
- java io操作
- golang笔记——map
- Python 技巧(三)—— list 删除一个元素的三种做法
- Python2.6和Python3.0中对除法操作的异同
- 按订单号(String常量池唯一,即对象唯一)加同步锁
- 实用Google 搜索方法总结(持续更新)
- 我的Python学习之路之基本语法-输入输出
- java--自定义标签(tag、tld两种)
- MATLAB/c++混合编程
- Java各种修饰限定符的权限范围
- (第2讲)Java小数如何保留小数点后n位
- java基础知识点总结
- (第1讲)java 的基本类型及其范围
- Spring小知识
- C++复习:一个小例子复习基础