首页 > 其他分享 >《代码大全2》读书报告六

《代码大全2》读书报告六

时间:2022-11-30 01:22:05浏览次数:31  
标签:代码 避免 读书 使用 字符串 全局 大全 数据 指针

第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

相关文章