文档详情

C语言程序代码编写规范.doc

发布:2018-02-03约2.1千字共4页下载文档
文本预览下载声明
C语言 程序代码编写规范 (初级程序员 讨论版) 前言 一个好的程序编写规范是编写高质量程序的保证。清晰、规范的源程序不仅仅是方便阅读,更重要的是能够便于检查错误,提高调试效率,从而最终保证软件的质量和可维护性。 说明 此文挡还在完善改进中,如有不足,欢迎指正。 本文档主要适用于刚刚开始接触编程的初学者。 对于具有一定工程项目开发经验的程序员,建议学习C语言程序代码编写规范—高级版。 目录 代码书写规范 注释书写规范 命名规范 内容 1 代码书写规范 1.1函数定义 每个函数的定义和说明应该从第1列开始书写。函数名(包括参数表)和函数体的花括号(“{”和“}”)应该各占一行。在函数体结尾的括号(“}”)后面应该加上注释,注释中应该包括函数名,这样比较方便进行括号配对检查,也可以清晰地看出来函数是否结束。 范例1:函数的声明 void matMyFunction(int n) { …… } /* matMyFunction*/ 1.2空格的使用 使用空格分割所有演算符号和操作数。 这条规则的例外是“-”,““.”, “()”和“[]”,这些操作符和操作数之间不空格。 当需要把一个程序行的内容分成几行写时,操作符号应该放在行末,而不是下一行的开头。 1.3缩进的设置 代码书写应该遵从结构化的要求,采用缩进的格式。最小缩进量为4个空格,整个文件内部应该统一,不要混用Tab键和4个空格这两种情况,因为不同的编辑器对Tab键的处理方法不同。 1.4折行的使用 每行的长度不要超过80个字符,当程序行太长时,应该分行书写。 分行时应该按照自然的逻辑关系进行,例如:不要把一个简单的逻辑判断写在两行上。 分行后的缩进应该按照程序的逻辑关系进行对齐。例如:参数表折行后,下面的行应该在参数表左括号的下方。 范例2:折行的格式 dwNewShape = matAffineTransform(coords, translation, rotation); if ( ( (new_shape.x left_border) (new_shape.x right_border) ) ( (new_shape.y bottom_border) (new_shape.y top_border) ) ) { draw(new_shape); } 1.5嵌套语句(语句块)的格式 对于嵌套式的语句--即语句块(如,if、while、switch等)应该包括在花括号中。花括号的左括号应该单独占一行,并与关键字对齐。建议即使语句块中只有一条语句,也应该使用花括号包括,这样可以使程序结构更清晰,也可以避免出错。建议对比较长的块,在末尾的花括号后加上注释以表明该语言块结束。 范例3:嵌套语句格式 if (value max) { if (value != 0) { func(value); } } } else { error(The value is too big.); } /* if (value max) */ 2 注释书写规范 注释必须做到清晰,准确地描述内容。对于程序中复杂的部分必须有注释加以说明。注释量要适中,过多或过少都易导致阅读困难。 2.1注释风格 C语言中使用一组(/* … */)作为注释界定符。 注释内容尽量用英语方式表述。 注释的基本样式参考范例4。 注释应该出现在要说明的内容之前,而不应该出现在其后。 除了说明变量的用途和语言块末尾使用的注释,尽量不使用行末的注释方式。 范例4:几种注释样式 /* * ************************************************ * 强调注释 * ************************************************ */ /* * 块注释 */ /* 单行注释 */ int i; /*行末注释*/ 2.2何时需要注释 如果变量的名字不能完全说明其用途,应该使用注释加以说明。 如果为了提高性能而使某些代码变得难懂,应该使用注释加以说明。 对于一个比较长的程序段落,应该加注释予以说明。如果设计文档中有流程图,则程序中对应的位置应该加注释予以说明。 如果程序中使用了某个复杂的算法,建议注明其出处。 如果在调试中发现某段落容易出现错误,应该注明。 3 命名规范 3.1常量、变量命名 用#define定义的符号常量全部采用大写。 变量命名的基本原则: 可以选择有意义的英文(小写字母)组成变量名,使人看到该变量就能大致清楚其含义。 不要使用人名、地名和汉语拼音。 如果使用缩写,应该使用那些约定俗成的,而不是自己编造的。 多个单词组成的变量名,每个单词的首字母应该
显示全部
相似文档