函数
使用函数的好处
1. 降低复杂性
2. 避免重复代码段
3. 限制改动带来的影响
4. 隐含顺序
5. 改进性能
6. 进行集中控制
7. 隐含数据结构
8. 隐含指针操作
9. 隐含全局变量
规则:1.复杂的函数中,在分支语句,循环语句结束之后需要适当的注释,方便区分各分支或循环体。
2.代码行最大长度宜控制在80 个字符以内,较长的语句、表达式等要分成
多行书写
3.如果函数中的参数较长,则要进行适当的划分。
4.尽量避免含有否定运算的条件表达式。
5.如果参数是指针,仅作输入参数用,则应在类型前加const,以防止该
指针在函数体内被意外修改。
6.原则上尽量少使用全局变量,因为全局变量的生命周期太长,容易出错,
也会长时间占用空间.各个源文件负责本身文件的全局变量,同时提供一对对外函数,方
便其它函数使用该函数来访问变量。比如:niSet_ValueName(…);niGet_ValueName(…);
不要直接读写全局变量,尤其是在多线程编程时,必须使用这种方式,并且对读写操作
加锁。
7. 函数体的规模要小,尽量控制在80 行代码之内。
8. return 语句不可返回指向“栈内存”的“指针”,因为该内存在函数体结
束时被自动销毁。尽量不通过return得到所要数据,而是通过传入
10. 避免函数有太多的参数,参数个数尽量控制在4个或4个以内,参数多的话尽
量打包成结构体进行传参
11. strcpy返回目标的指针。
12. getchar返回×××。
函数调用的开销比循环来说要大得多,所以,递归的效率很低,递归的深度太大甚
至可能出现错误(比如栈溢出)。所以,平时写代码,不到万不得已,尽量不要用递归。即
便是要用递归,也要注意递归的层次不要太深,防止出现栈溢出的错误;同时递归的停止条
件一定要正确,否则,递归可能没完没了。
避免头文件重复包含
#ifndef __FILENAME_H
#define __FILENAME_H
#endif
转载于:https://blog.51cto.com/aotman/992575