c语言编码规范章节课堂

上传人:沈*** 文档编号:153290773 上传时间:2022-09-18 格式:PPT 页数:41 大小:609KB
收藏 版权申诉 举报 下载
c语言编码规范章节课堂_第1页
第1页 / 共41页
c语言编码规范章节课堂_第2页
第2页 / 共41页
c语言编码规范章节课堂_第3页
第3页 / 共41页
资源描述:

《c语言编码规范章节课堂》由会员分享,可在线阅读,更多相关《c语言编码规范章节课堂(41页珍藏版)》请在装配图网上搜索。

1、编码规范1教书育人第一部分 前言Preface2教书育人为什么要这么做?n书写良好的代码更容易阅读n容易阅读的代码才容易被理解n容易被理解的代码才健康n编程风格体现了程序员对语言的理解水平n求职:好的编程风格给别人良好的第一印象,是获得高薪的第一步3教书育人1.编写目的n通过编程规范的学习和强制执行,使同学们从一开始就接触基本的软件开发思想,了解基本的软件工程规范,养成良好的编程习惯;为后续课程的实践环节和日后实际工作打下良好的基础;也便于教师批改与回复电子作业。n执行良好的编码规范可以使编写出来的程序易于阅读、理解和管理。4教书育人2.编码规范的定义n编码(coding):是指用适当的代码编

2、写工具编写C语言程序的源代码n编码规范:n相关英文说法:coding standard,coding convention,coding criterionn是指被普通采用的、或由某个企业或机构规定的,用计算机语言编写程序的过程中需要遵守的一套规则或约定的集合n编码规范并不是语言的语法规则5教书育人3.编码规范的应用n在软件业高速发展、团队开发成为基本开发模式的今天,几乎每个软件企业或软件开发团队都会制定各种各样的规范,应用于软件开发过程的各个环节中,编码规范是最基础规范之一。n不同的公司,对同一种开发语言,一般都采用类似的规范,也就是说编码规范具有一些通用性的标准6教书育人4.编码规范的学习

3、和执行n要求学习和掌握规范标准n要求在本课程的作业过程中执行这些规范,上交的电子作业必须符合这些规范要求n要求在后续相关课程中执行此规范中的基本部分,并根据后续课程内容要求执行相应的扩展规范7教书育人第二部分 C语言编码规范Coding standards8教书育人1.文件级模块说明规范File module specification9教书育人文件级模块说明规范的含义n模块定义:指以独立的文件形式存在的模块,主要包括两类nC或C+的扩展名为.c或.cpp的源代码文件模块,例如abc.cpp,扩展名为.h的头文件模块,如abc.h,exam.hn对于任何一个用户新建的模块,必须按规范要求给出模

4、块的相关描述信息10教书育人文件级模块说明的构成n文件级模块说明至少应由以下部分构成n1.模块的作者信息n2.模块的版权声明n3.模块的名称n4.模块的摘要描述n5.模块的其它说明n6.模块的历史信息11教书育人文件级模块说明的编写n1.每个用户的文件级代码模块必须编写一个说明n2.模块说明要求以注释的形式出现在模块的首部n3.为了减少每次的工作,每个人应先编写好不变部分,每新建一个模块将不变部分复制到文件首部,再行更改可变部分12教书育人中文版文件级模块说明规范/*作者信息:姓名:学号:班级:学院:Email:电话:版权声明:模块名称:本模块详细名称,不是文件名摘要:摘要地描述本模块的功能其

5、它说明:可有可无,有关本模块的附加说明,这些说明可以在以后帮助代码的阅读者理解这个模块里的内容,如:算法的描述,特殊情况,参考资料等模块历史:谁于某年某月某日创建本模块,创建人email 谁于某年某月某日修改本模块,修改人email 修改原因:可有可无,根据需要添加*/13教书育人 例子/*作者信息:姓名:张三 学号:06123456 班级:计科0601班 学院:计算机 Email: 电话:51689999版权声明:版权由张三所有,除老师外,未经允许不得拷贝本人作业模块名称:第一个模块摘要:本模块是我的第一个C语言作业,实现了一些简单的功能其它说明:无模块历史:张三于2006年9月20日创建本

6、模块,email:张三于2006年9月25日修改本模块,email:同上 修改原因:增加了一个输出正方形的函数*/注意:红色部分为必填部分,缺填红色部分可能导致作业无法得到批阅注释开始注释结束14教书育人/*作者信息:姓名:张三 学号:06123456 班级:计科0601班 学院:计算机 Email: 电话:51689999版权声明:版权由张三所有,除老师外,未经允许不得拷贝本人作业模块名称:第一个模块摘要:本模块是我的第一个C语言作业,实现了一些简单的功能其它说明:无模块历史:张三于2006年9月20日创建本模块,email:张三于2006年9月25日修改本模块,email:同上 修改原因:

7、增加了一个输出正方形的函数*/#include“stdio.h”#include“string.h”/*main函数说明*/main().模块说明示例:example.cpp15教书育人English Version/*Author Info:Name:Author ID:Class:School:Email:Tel.Copyright(c)2005 NJTUModule Name:An unabbreviated name for the module(not the filename)Abstract:Description of what this module doesNotes:Op

8、tional Additional notes about this module-things that may help the reader of this code later on.Examples are:algorithm description,special case conditions,references,etc.History:Created on mm/dd/yyyy by email-name Modified on mm/dd/yyyy by email-name Optional history description*/16教书育人2.函数说明规范Funct

9、ion Specification17教书育人关于函数说明n对于作业中程序的任何一个函数,包括main函数,都需要写出函数的说明n一个良好的编程习惯:n写任何一个函数以前,第一步工作就是先把函数说明写出来,而不是直接先写代码18教书育人函数说明规范/*函数名称:写出函数的名称功能描述:描述出函数具有的功能函数参数:输入输出参数说明,对每个参数都需要作出仔细说明返回值:返回值说明,或者标明无回值模块历史:谁于某年某月某日创建本模块,创建人email 谁于某年某月某日修改本模块,修改人email 修改原因:可有可无,根据需要添加*/19教书育人例子/*函数名称:main功能描述:输出 Hello

10、world!函数参数:无返回值:无模块历史:张三于2006年9月20日创建本模块,email:*/void main()printf(Hello world!);20教书育人English Version/*Function Name:Function Description:Description of what the function doesArguments:|OUT|IN/OUT argument-name-description of argument Return Value:return-value-description of return value or NONEHis

11、tory:Created on mm/dd/yyyy by email-name*/21教书育人3.代码注释22教书育人恰到好处的注释n1.对重要变量说明其作用;n2.对每一段函数代码加注释说明功能;n3.对重要的语句加注释说明其功能;n4.对重要的函数调用的参数加实际参数说明;n5.在自己认为必要的地方加上注释n6.可以采用/*/和/进行注释23教书育人4.基本编辑规范要求正确使用:缩进,空格,空行24教书育人缩进n根据语句间的层次关系采用缩进格式书写程序,每进一层,往后缩进一层n函数内的变量声明与执行语句要缩进一层n缩进长函数调用语句pMsg=ComReadMsgFromQueue(aSe

12、rver,NULL,ComWait_c,lTimeOut);n一个缩进层次为四个英文字符宽度n一般用Tab键进行缩进,定义Tab为四个英文字符宽度n许多开发工具编辑器如VC一般会自动帮你缩进25教书育人要加空格的场合n1.在逗号后面和语句中间的分号后面加空格,如:nint i,j,k;nfor(i=0;i b a 左右两加不加空格:pStud-szName,Student.nIDn2.不要在行尾加多余的空格或Tabn3.函数名与左括号之间不要加空格:func()n4.指针说明符号*与变量名间不要加空格:nint*pInt;不要写成:int*pInt;n5.复合运算符中间不能加空格,否则会产生语

13、法错误,如:na+=b a =b 都是错误的27教书育人空行与换行n1.函数的变量说明与执行语句之间加上空行;n2.每个函数内的主要功能块之间加空行表示区隔;n3.一行语句不要写的太长,将长语句分成多行写;n4.不要在一行中写多条语句.28教书育人例子int main()int i,j,nSum=0;/变量说明 for(i=0;i 10;i+)/执行代码 for(j=0;j 10;j+)nSum+=i;注意空格空行注意各层缩进29教书育人5.标识符命名Naming Indentifiers30教书育人标识符命名基本要求n1.这里所指的标识符包括符号常量、变量、函数名、类型名、成员名、C+中的类

14、名等需要编程者命名的各种文字符号n2.标识符命名必须符合语法规则n3.任何标识符的命名最好能有一定的含义n4.标识符的命名尽量采用英文31教书育人5.1 符号常量命名规范n符号常量的命名用大写字母表示n如n#define LENGTH 10n如果符号常量由多个单词构成,两个不同的单词之间可以用下划线连接n如n#define MAX_LEN 5032教书育人5.2 变量命名普通规范n1.变量名一般需要反映变量的用途n如:nint sum;n2.如果变量名由多个单词构成,每个单词的首字符要大写n如:nint TotalFiles;33教书育人5.3 变量命名与变量类型n在实际软件开发中,常见的规范

15、强制要求能从变量名中看出变量的类型,因此,建议同学们一开始就养成这样的习惯。n使变量能反映类型的方法是在变量的前面加上各种前缀,由这些前缀反映变量的类型n对类型前缀规范,各种不同的软件开发环境可能会有不同规范,不同的软件企业或开发团队,也可能会有不同的规范,没有绝对的标准,但是这些规范都大同小异。34教书育人5.4 C常见变量前缀建议规范类型前缀范例intn 或 iint nSum,iSum;charchchar chTemp;doubleddouble dSum;floatflfloat flSum;char*szchar*szBuffer;char szchar szBuffer100;p

16、ointpint*pnBuffer;pointer to pointerppint*ppnBuffer;arrayarr 或 rgint narr10,nrg10;35教书育人5.5 关于C+命名规范n在各种C+中,还有许多不同类型的标识符前缀,包括模块成员、全局变量等36教书育人其它供参考C+前缀规范sSHORTSigned integer,16-bit.lLONGSigned integer,32-bit.usUSHORTUnsigned integer,16-bit.ulULONGUnsigned integer,32-bit.bBYTENon-counting purposes,8-b

17、it allocation.wWORDNon-counting purposes,16-bit allocation.dwDWORDNon-counting purposes,32-bit allocation.iintScalable signed integer uUINTScalable unsigned integerflfloatFloating point,32-bit,6-7 significant digits.37教书育人其它供参考C+规范ddoubleFloating point,64-bit,15-16 signigicant digits.chCHARCharacter

18、,8-bit.wchWCHARCharacter,Unicode,16-bit.tchTCHARCharacter,flexible Unicode or DBCS.fnFunctionFunction:always used with a type prefix(eg:pfn is pointer to function).vvoidVoid:always used with a type prefix(eg:pv is pointer to void).fbool or BOOLf means flagvarVARIANT or variant_t38教书育人6.其它一些小技巧和要求39教书育人n函数一般情况下应该少于100行n函数定义一定要包含返回类型,没有返回类型加voidn函数调用如果过长,则每个实参分别占一行n写比较表达式时,将常量放在左边n10=nnNULL!=pIntn指针变量总是要初始或重置为NULLn使用包含复合语句,即使是只有一行,如:nif(1=a)n x=5;n40教书育人本规范到此结束41教书育人

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!