首页 C语言书写规范

C语言书写规范

举报
开通vip

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

C语言书写规范
1.C语言书写 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 1.1符号命名规则1.1.1符号名包括模块名、常量名、标号名、子程序名等。这些名字应该能反映它所代 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 的实际东西,具有一定的意义,使其能够见名知义,有助于对程序功能的理解。命名采用匈牙利命名法。规则如下:(1)所有宏定义、枚举常数和const变量,用大写字母命名。在复合词里用下划线隔开每个词。(2)复合词中每个单词的第一个字母大写。除了规则5.1.1.1以外,避免使用下划线。(3)类、类型定义和枚举型名的第一个字母大写。(4)函数名是复合词的,第一个词采用全部小写,随后每个单词采用第一个字母大写,其它字母小写方式;如果是单个词的,采用全部小写方式。(5)循环变量可采用i,j,k等,不受上述规则限制。(6)类的成员变量应采用m_开头。(7)全局变量词头为g_。(8)临时变量词头为tmp_。(9)对结构体内的变量命名,遵循变量的具体含义命名原则(10)用小写字母的前缀表示变量的类型,前缀的下一个字母用大写。表1词头类型词头类型chcharllongiintegeruunsignedbbooleanppointerffloatlplongpointerddoublesstringststructureszASCIIstringbybytenshortintHhandlex,y分别为x,y坐标dwDWORDfnfunction表2词头变量名词头变量名tasktasksigsignalsbbinarysemaphoreswdwatchdogsmmutualexclusionsemaphorestmtimersccountingsemaphoresmsgmessagepipepipe例:#defineARRAY_SIZE24/*规则5.1.1.1*/intg_iFlag;classMyClass/*规则5.1.1.3*/{};voidsomeFunc()/*规则5.1.1.2和5.1.1.4*/{.2.Q/ECC/BJ010—2001intnArray[ARRAY_SIZE];unsignedcharuchByte;charszName[];char*pszName=szName;}(11)有些词头(如p和u)可以和其它词头组合。例:WDOG_IDwdId;WDOG_IDg_wdId;/*全局watchdogId,故以g_开头*/1.1.2名字的长度一般不要过长或过短。过长的名字会增加工作量,使程序逻辑 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 变得模糊;过短的名字无法表达符号的实际意义。约定长度范围:3-31;1.2数据和函数说明1.2.1数据说明次序应当规范化,使数据属性容易查找,也有利于测试、排错和维护。说明的先后次序应固定,应按逻辑功能排序,逻辑功能块内建议采用下列顺序:整型说明、实型说明、字符说明、逻辑量说明。1.2.2如果 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 了一个复杂的数据结构,应当通过注释对其变量的含义、用途进行说明。1.2.3在函数的声明中使用异常声明。如:voidf()throw(toobig,toosmall,divzero);在声明一个函数时,将它所抛出的异常列出,便于函数的使用者了解可能会发生哪些异常。1.3程序注释1.3.1程序注释是程序员与日后的程序读者之间通信的重要手段之一,注释分为文件注释、函数注释和功能注释。1.3.2正规程序的注释应注意:——注释行的数量占到整个源程序的1/3到1/2。1.3.3文件注释位于整个源程序的最开始部分,注释后空两行开始程序正文。它包括:——程序标 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 。——目的、功能说明。——文件作者、最后修改日期等说明。例:./********************************************************************(空一行)标题:Demo.c功能:测试VxWorks的各种系统调用.说明:该程序测试各种VxWorks的系统调用函数。包括任务(taks)的创建、挂起及任务间通过信号灯实现同步,通过消息队列进行通讯。程序创建了两个任务:一个高优先级的任务和一个低优先级的任务。两个任务间通过一个二进制的信号灯进行同步,通过消息队列进行通讯。当前版本:x.x修改信息:2000.06.05John,InitialVersion2000.07.05Tom,Bugxxxxfixed**************************************************************/(空2行,开始程序正文)1.3.4函数注释通常置于每函数或过程的开头部分,它应当给出函数或过程的整体说明对于理解程序本身具有引导作用。一般包括如下条目:——模块标题。——有关本模块功能和目的的说明。——调用格式——接口说明:包括输入、输出、返回值、异常。——算法。如果模块中采用了一些复杂的算法。例:file://(注释开头应和上一函数空两行)(注释开头与上一函数最后一行间隔两行)/********************************************************************标题:assignmentComplete功能:BSC=>MSC消息生成函数,生成assignment_complete指配完成消息(BSMAP消息).格式:intassignmentComplete(intiCellId,intiServiceChannnelNum,char*pszMSGData)throw(exception1,exception2)输入:intiCellId:MS所在的小区识别iCellId取值:0x00-——0xff.4.Q/ECC/BJ010—2001intiServiceChannnelNum:MS所占的业务信道号码输出:char*pszMSGData:指配完成消息数据返回值:0x00正常异常:exception1异常情况1,exception2异常情况2********************************************************************/(注释后直接开始程序正文,不空行。)1.3.5功能性注释嵌在源程序体中,用于描述其后的语句或程序段做什么工作,也就是解释下面要做什么,或是执行了下面的语句会怎么样。而不要解释下面怎么做,因为解释怎么做常常与程序本身是重复的。例:/*把amount加到total中*/total=amounttotal;这样的注释仅仅是重复了下面的程序,对于理解它的工作并没有什么作用。而下面的注释,有助于读者理解。/*将每月的销售额amount加到年销售额total中*/total=amounttotal;1.4函数编写应尽可能短小精悍,一般不超过两屏,以便于调试和理解。1.5语句结构为保证语句结构的清晰和程序的可读性,在编写软件程序时应注意以下几个方面的问题:——在一行内只写一条语句,并采用空格、空行和移行保证清楚的视觉效果。——每一个嵌套的函数块,使用一个TAB缩进(可以设定为4个空格),大括号必须放在条件语句的下一行,单独成一行,便于匹对:如,有一段程序如下:for(i=1;iif(a[j]应写为for(i=1;i<>{t=1;for(j=i1;j<>{if(a[i]t=j;if(t!=1){.5.Q/ECC/BJ010—2001work=a[t];a[t]=a[i];a[i]=work;}}}——文件之中不得存在无规则的空行,比如说连续十个空行。一般来讲函数与函数之间的空行为2-3行;在函数体内部,在逻辑上独立的两个函数块可适当空行,一般为1-2行。——程序编写首先应考虑清晰性,不要刻意追求技巧性而使得程序难以理解。——每行长度尽量避免超过屏幕宽度,应不超过80个字符。——除非对效率有特殊要求,编写程序要作到清晰第一,效率第二。——尽可能使用函数库。——尽量用公共过程或子程序去代替重复的功能代码段。要注意,这个代码应具有一个独立的功能,不要只因代码形式一样便将其抽出组成一个公共过程或子程序。——使用括号清晰地表达算术表达式和逻辑表达式的运算顺序。如将x=a*b/c*d写成x=(a*b/c)*d可避免阅读者误解为x=(a*b)/(c*d)。——避免不必要的转移。——避免采用过于复杂的条件测试。——避免过多的循环嵌套和条件嵌套。——建议不要使用*=,^=,/=等运算符。——一个函数不要超过200行。一个文件应避免超过2000行。——尽量避免使用goto语句。——避免采用多赋值语句,如x=y=z;——不鼓励采用?:操作符,如z=(a>b)?a:b;——不要使用空的ifelse语句。如if(cMychar>=‘A’)if(cMychar<=‘Z’)printf(“Thisisaletter\n”);elseprintf(“Thisisnotaletter\n”);else到底是否定哪个if容易引起误解。可通过加{}避免误解。——尽量减少使用“否定”条件的条件语句。如:把if(!((cMychar<’0’)||(cMychar>’9’)))改为if((cMychar>=’0’)&&(cMychar<=’9’))
本文档为【C语言书写规范】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_654168
暂无简介~
格式:doc
大小:26KB
软件:Word
页数:13
分类:
上传时间:2022-08-18
浏览量:2