c语言书写规范

上传人:bin****86 文档编号:56672405 上传时间:2018-10-14 格式:DOCX 页数:27 大小:29.83KB
返回 下载 相关 举报
c语言书写规范_第1页
第1页 / 共27页
c语言书写规范_第2页
第2页 / 共27页
c语言书写规范_第3页
第3页 / 共27页
c语言书写规范_第4页
第4页 / 共27页
c语言书写规范_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《c语言书写规范》由会员分享,可在线阅读,更多相关《c语言书写规范(27页珍藏版)》请在金锄头文库上搜索。

1、c c 语言书写规范语言书写规范 篇一:C 语言书写规范 语言书写规范 符号命名规则 符号名包括模块名、常量名、标号名、子程序名等。 这些名字应该能反映它所代表的实际东西,具有一定的意 义,使其能够见名知义,有助于对程序功能的理解。命名 采用匈牙利命名法。规则如下: (1)所有宏定义、枚举常数和 const 变量,用大写字 母命名。在复合词里用下划线隔开每个词。 (2)复合词中每个单词的第一个字母大写。除了规则 以外,避免使用下划线。 (3)类、类型定义和枚举型名的第一个字母大写。 (4)函数名是复合词的,第一个词采用全部小写,随 后每个单词采用第一个字母大写,其它字母小写方式;如 果是单个词

2、的,采用全部小写方式。 (5)循环变量可采用 i, j, k 等,不受上述规则限制。 (6) 类的成员变量应采用 m_开头。 (7) 全局变量词头为 g_ 。 (8) 临时变量词头为 tmp_ 。 (9) 对结构体内的变量命名, 遵循变量的具体含义命 名原则 (10)用小写字母的前缀表示变量的类型,前缀的下一 个字母用大写。 表 1 词 头 类 型 词 头 类 型 ch char l long i integer u unsigned b boolean p pointer f float lp long pointer d double s string st structure sz AS

3、CII string by byte n short int H handle x,y 分别为 x,y 坐标 dw DWORD fn function 表 2 词 头 变 量 名 词 头 变 量 名 task task sig signal sb binary semaphores wd watchdog sm mutual exclusion semaphores tm timer sc counting semaphores msg message pipe pipe 例: #define ARRAY_SIZE 24 /*规则*/ int g_iFlag; class MyClass /*

4、规则*/ ; void someFunc( ) /*规则和*/ .2. Q/ECC/BJ 010XX int nArrayARRAY_SIZE; unsigned char uchByte; char szName ; char *pszName = szName; (11)有些词头(如 p 和 u)可以和其它词头组合。 例:WDOG_ID wdId; WDOG_ID g_wdId; /*全局 watchdog Id,故以 g_开头 */ 名字的长度一般不要过长或过短。过长的名字会增加 工作量,使程序逻辑流程变得模糊;过短的名字无法表达 符号的实际意义。约定长度范围:3-31; 数据和函数说明

5、 数据说明次序应当规范化,使数据属性容易查找,也 有利于测试、排错和维护。说明的先后次序应固定,应按 逻辑功能排序,逻辑功能块内建议采用下列顺序:整型说 明、实型说明、字符说明、逻辑量说明。 如果设计了一个复杂的数据结构,应当通过注释对其 变量的含义、用途进行说明。 在函数的声明中使用异常声明。 如:void f() throw(toobig, toosmall, divzero); 在声明一个函数时,将它所抛出的异常列出,便于函 数的使用者了解可能会发生哪些异常。 程序注释 程序注释是程序员与日后的程序读者之间通信的重要 手段之一,注释分为文件注释、函数注释和功能注释。 正规程序的注释应注意

6、: 注释行的数量占到整个源程序的 1/3 到 1/2。 文件注释位于整个源程序的最开始部分,注释后空两 行开始程序正文。它包括: 程序标题。 目的、功能说明。 文件作者、最后修改日期等说明。 例: ./* *(空一行) 标题: 功能: 测试 VxWorks 的各种系统调用. 说明: 该程序测试各种 VxWorks 的系统调用函数。包括任务 (taks)的创建、挂起及任务间通过信号灯实现同步,通 过消息队列进行通讯。 程序创建了两个任务:一个高优先级的任务和一个低 优先级的任务。两个任务间通过一个二进制的信号灯进行 同步,通过消息队列进行通讯。 当前版本: 修改信息: John, Initial

7、 Version Tom, Bug xxxx fixed * */ (空 2 行,开始程序正文) 函数注释通常置于每函数或过程的开头部分,它应 当给出函数或过程的整体说明对于理解程序本身具有引导 作用。一般包括如下条目: 模块标题。 有关本模块功能和目的的说明。 调用格式 接口说明:包括输入、输出、返回值、异常。 算法。如果模块中采用了一些复杂的算法。 例: file:/(注释开头应和上一函数空两行) (注释开头与上一函数最后一行间隔两行) /* *标题:assignmentComplete 功能:BSC=MSC 消息生成函数,生成 assignment_complete 指配完成消息(BSM

8、AP 消息) .格式: int assignmentComplete(int iCellId, int iServiceChannnelNum, char *pszMSGData) throw(exception1, exception2) 输入: int iCellId: MS 所在的小区识别 iCellId 取值:0x00-0xff .4. Q/ECC/BJ 010XX int iServiceChannnelNum:MS 所占的业务信道号码 输出: char * pszMSGData:指配完成消息数据 返回值: 0x00 正常 异常:exception1 异常情况 1, exceptio

9、n2 异常情况 2 * */( 注释后直接开始程序正文,不空行。 ) 功能性注释嵌在源程序体中,用于描述其后的语句或 程序段做什么工作,也就是解释下面要做什么,或是执行 了下面的语句会怎么样。而不要解释下面怎么做,因为解 释怎么做常常与程序本身是重复的。例: /*把 amount 加到 total 中*/ total = amount + total; 这样的注释仅仅是重复了下面的程序,对于理解它的 工作并没有什么作用。而下面的注释,有助于读者理解。 /*将每月的销售额 amount 加到年销售额 total 中*/ total = amount + total; 函数编写应尽可能短小精悍,一

10、般不超过两屏,以 便于调试和理解。 语句结构 为保证语句结构的清晰和程序的可读性,在编写软件 程序时应注意以下几个方面的问题: 篇二:关于 C 语言编程书写规范的规则和建议 关于 C 语言编程书写规范的规则和建议 一、 头文件 1、头文件开头处的版权和版本声明。 2、预处理块。 3、函数和类结构声明等。 ? 头文件由三部分内容组成: ? 【规则】为了防止头文件被重复引用,应当用 ifndef/define/endif 结构产生预处理块。 ? 【规则】用 #include 格式来引用标准库的头文 件(编译器将从标准库目录开始搜索). ? 【规则】用 #include “” 格式来引用非标准库 的

11、头文件(编译器将从用户的工作目录开始搜索) ? 【建议】头文件中只存放“声明”而不存放“定义” ? 【建议】不提倡使用全局变量,尽量不要在头文件 中出现象 extern int value 这类声明。 二、 程序的版式 空行 ? 【规则】在每个类声明之后、每个函数定义结束之 后都要加空行。 ? 【规则】在一个函数体内,逻揖上密切相关的语句 之间不加空行,其它地方应加空行分隔。 代码行 ? 【规则】一行代码只做一件事情,如只定义一个变 量,或只写一条语句。这样的代码容易阅读,并且方便于 写注释。 ? 【规则】if、for、while、do 等语句自占一行, 执行语句不得紧跟其后。不论执行语句有多

12、少都要加。 这样可以防止书写失误。 ? 【建议】尽可能在定义变量的 同时初始化该变量(就近原则) 代码行内的空格 ? 【规则】关键字之后要留空格。象 const、virtual、inline、case 等关键字之后至少要留一 个空格,否则无法辨析关键字。象 if、for、while 等关键 字之后应留一个空格再跟左括号( ,以突出关键字。 ? 【规则】函数名之后不要留空格,紧跟左括号 ( ,以与关键字区别。 ? 【规则】 (向后紧跟, ) 、 , 、 ;向前紧 跟,紧跟处不留空格。 ? 【规则】 , 之后要留空格,如 Function(x, y, z)。 如果;不是一行的结束符号,其后要留空格

13、。 ? 【规则】赋值操作符、比较操作符、算术操作符、 逻辑操作符、位域操作符,如“=” 、 “+=” “=” 、 “ ? 【规则】一元操作符如“!” 、 “” 、 “+” 、 “-” 、 “ i ? 【规则】程序的分界符和应独占一行并且位于 同一列,同时与引用它们的语句左对齐。 ? 【规则】 之内的代码块在右边数格处左对 齐。 长行拆分 ? 【规则】代码行最大长度宜控制在 70 至 80 个字符 以内。代码行不要过长,否则眼睛看不过来,也不便于打 印。 ? 【规则】长表达式要在低优先级操作符处拆分成新 行,操作符放在新行之首(以便突出操作符) 。拆分出的新 行要进行适当的缩进,使排版整齐,语句

14、可读。 注释 ? 注释符为“/*?*/” 。C+语言中,程序块的注释常 采用“/*?*/” ,行注释一般采用“/?” 。注释通常用于: 版本、版权声明; 函数接口说明; 重要的代码行 或段落提示。 ? 【规则】注释是对代码的“提示” ,而不是文档。 程序中的注释不可喧宾夺主,注释太多了会让人眼花缭乱。 注释的花样要少。 ? 【规则】如果代码本来就是清楚的, 则不必加注释。否则多此一举,令人厌烦。例如 i+; / i 加 1,多余的注释 ? 【规则】边写代码边注释,修改代码同时修改相应 的注释,以保证注释与代码的一致性。不再有用的注释要 删除。 ? 【规则】注释应当准确、易懂,防止注释有二义性。

15、 错误的注释不但无益反而有害。 ? 【规则】尽量避免在注释中使用缩写,特别是不常 用缩写。 ? 【规则】注释的位置应与被描述的代码相邻,可以 放在代码的上方或右方,不可放在下方。 ? 【规则】当代码比较长,特别是有多重嵌套时,应 当在一些段落的结束处加注释,便于阅读。 三、 命名规则 共性规则 ? 【规则】标识符应当直观且可以拼读,可望文知意, 不必进行“解码” 。 ? 标识符最好采用英文单词或其组合,便于记忆和阅 读。切忌使用汉语拼音来命名。程序中的英文单词一般不 会太复杂,用词应当准确。例如不要把 CurrentValue 写成 NowValue。 ? 【规则】标识符的长度应当符合“min-length & max-information”原则。 ? 【规则】命名规则尽量与所采用的操作系统或开发 工具的风格保持一致。 例如 Windows 应用程序的标识符通常采用“大小写” 混排的方式,如 AddChild。而 Unix 应用程序的标识符通常 采用“小写加下划线”的方式,如 add_child。别把这两类 风格混在

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 总结/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号