cc编程规范——帮助程序员一次性编写出高质量的程序内容摘要:

用类型和数目不确定的参数。 例如 printf 返回值的规则  不要省略返回值的类型。  函数名字与返回值类型在语义上不可冲突。 例如 getchar  不要将正常值和错误标志混在一起返回。 正常值用输出参数获得,而错误标志用return语句返回。  有时候函数原本不需要返回值 , 但为了增加灵活性如支持链式表达 , 可以附加返回值。 例如 char *strcpy(char *strDest, const char *strSrc)。 函数内部实现的规则: 在函数体的 “ 入口处 ” 和 “ 出口处 ” 从严把关  在函数体的 “ 入口处 ” ,对参数的有效性进行检查。  在函数体的 “ 出口处 ” ,对 return语句的正确性和效率进行检查。 Page 8 4. 函数设计 一些建议  函数的功能要单一,不要设计多用途的函数。  函数体的规模要小,尽量控制在 50行代码之内。  尽量避免函数带有 “ 记忆 ” 功能。 相同的输入应当产生相同的输出。 带有 “ 记忆 ” 功能的函数,其行为可能是不可预测的,因为它的行为可能取决于某种 “ 记忆状态 ”。  不仅要检查输入参数的有效性,还要检查通过其他途径进入函数体内的变量的有效性,例如全局变量、文件句柄等。  用于出错处理的返回值一定要清楚,让使用者不容易忽视或误解错误情况。 使用断言  使用断言捕捉不应该发生的非法情况。 不要混淆非法情况与错误情况之间的区别,后者是必然存在的并且是一定要做出处理的。  在函数的入口处,使用断言检查参数的有效性(合法性)。  在编写函数时,要进行反复的考查,并且自问: “ 我打算做哪些假定。 ” 一旦确定了的假定,就要使用断言对假定进行检查。 Page 9 5. 内存管理 内存分配方式  从静态存储区域分配。 内存在程序编译的时候就已经分配好,这块内存在程序的整个。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。