(总结)编写高质量c语言代码 第5 章糖果机界面

1.要使用户不容易忽视错误状况不要在正常地返回值中隐藏错误代码
2. ,那些常常把错误值和有效数据混杂在一块儿返回的程序员,会习惯性地设计出象 realloc 这样的界面.
3. (“不要在返回值中隐 藏错误”)
4. 我认为找出这些暗藏陷阱的惟一办法是停下来思考所作的设计。这样作 的最佳途径是检查输入和输出的各类可能组合,寻找可能引发问题的反作用。
5. 要竭尽全力地寻找并消除函数界面中的缺陷
6 . realloc 的另外一个问题是:咱们知道传递给realloc 的多是无用信息,可是由于其定 义如此通用使它很难防范无效的参数。若是错误地给它传递了NULL 指针,合法;若是错误 地给它传递了为零的块长也合法。
7. 无论出于什么样的理由编写了多功能的函数,都要把它分解为不一样的功能。对于 realloc 来讲,就是要分解出扩大内存块、缩小内存块、分配内存块和释放内存块。把realloc 分解为四个不一样的函数.
8. 不要编写多种功能集于一身的函数 为了对参数进行更强的确认,要编写功能单一的函数.
9. 正象明确的输出令人容易搞清函数的结果同样,明确的输入亦令人容易理解函数要作 的事情,它对必须阅读和理解别人程序的维护人员极有价值。
10. 从靠近错误的断言开始查错,要比从错误的输出开始查错速度更快。
11 . 从“无错”的观点,若是函数的参数越界或者无心义,那么即便能被智能地处理,仍然 应该被视为非法的输入。
12. 程序员处理大小(或计数)为O 参数一般是由于
他们可以处理而不是应该处理。若是所编函数有大小参数,那么并不必定非得对大小为0
进行处理,而要问本身:“程序员用大小为0 的参数调用这个函数的额度是多少?”若是根
本或者几乎不会这么调用,那就不要对大小为0 进行处理,而要加上相应的断言。 要记住,
消除限制就是消除捕获相应错误的机会,因此一个良好的准则是,一开始就要为函数的输入
选择严格的定义,并最大限度地利用断言。这样,若是事后发现某个限制过于苛刻,能够把
它去掉而不至于影响到程序的其它部分。
13. 不要模棱两可,要明确地定义函数的参数。
14.返回错误就意味着对错误进行处理, 若是发现本身在设计函数时要返回一个错误代码,那么要先停下来问本身:是否还有其 它的设计方法能够不用返回该错误状况
15. 编写函数使其在给定有效的输入状况下不会失败
16. 并不是只有把输出都合在一块儿和返回没必要要的错误代码才会 致使复杂的代码。有时引发代码复杂化的缘由彻底因为粗心而忽视了相应的函数调用“读’ 的效果。
17. 序员在几十年前就已经知道应该在程序中避免使用莫名其妙的数字。有名的常量不只可使 代码更可读,并且使代码更可移植。
18. 使程序在调用点明了易懂;要避免布尔参数
19. 编写注解突出可能的异常状况
20.对一个函数界面的设计要从如下方面进行考虑:1.函数的传入参数是否合理,2.函数的返回值是否合理3.函数的调用是否方便
相关文章
相关标签/搜索