第12章 基本数据类型
Tips:
避免使用Magic Number。
每次遇到除法时都要检查预防除零错误。
显式地使用类型转换。
避免混合类型的比较。
整数:小心溢出。
浮点数:避免“相等”判断,避免数量级相差巨大的数之间的加减运算
字符和字符串:尽早决定是否使用Unicode
C语言中的字符串:
警惕任何包含字符串和等号的表达式
字符串的长度声明为“CONSTANT+1”
用null初始化字符串以避免没有结束符的字符串,使用calloc()而不是malloc()
布尔变量:使用布尔变量来简化复杂的判断
数组:
任何情况下,确认所有的数组下标都没有超出数组的边界
尽量使用容器来取代数组,或者将数组作为顺序化结构来处理
自定义类型
使用自定义类型(通过typedef等方法)实现更好的抽象
给所创建的类型取功能导向的名字,避免使用那些代表了计算机数据类的类型名(如BigIngeger
, LongString等)。
第13章 不常见的数据类型
指针:
把指针的操作限制在子程序或类里面。比如通过NextLink(),PreviousLink()等方法代替直接操作指针。
指针的声明和定义放在一起(一行)
在与“指针分配”相同的作用域中删除指针。
在使用指针之前检查指针。
用额外的指针变量来提高代码清晰度,避免类似pointer->next->last->next等使用指针的方法
在删除或者释放指针之后把它们设为空值(null)
全局数据:
仅在确实需要的使用使用全局数据(首先把每一个变量设置为局部的,仅当需要是再设置为全局的)
全局数据应该让人一看便知,如果使用了全局数据,就公开地使用
用访问器子程序(Access Routines)来取代全局数据
根据全局数据的功能,把全局数据分为不同的模块(包、类)
用static关键字或者它的等价物来声明该数据,确保该数据只有单一实例
确保对一项数据的所有访问都发生在同一个抽象层上
第14章 组织直线型代码
依赖关系必须清晰明显。通子程序名、程序参数等实现。
第15章 使用条件语句
If-ElseIf-Else结构中,最后一个Else确保所有的情况都考虑到了。
Case语句的顺序:首先按照频率从高到低,频率一样按照字母排列。
标签:代码,避免,读书,使用,字符串,全局,大全,数据,指针 From: https://www.cnblogs.com/tianminggeng/p/16937234.html