c语言编码规范_第1页
c语言编码规范_第2页
c语言编码规范_第3页
c语言编码规范_第4页
c语言编码规范_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

编码规范c语言编码规范第一部分前言Prefacec语言编码规范为什么要这么做?书写良好的代码更容易阅读容易阅读的代码才容易被理解容易被理解的代码才健康编程风格体现了程序员对语言的理解水平求职:好的编程风格给别人良好的第一印象,是获得高薪的第一步c语言编码规范1.编写目的通过编程规范的学习和强制执行,使同学们从一开始就接触基本的软件开发思想,了解基本的软件工程规范,养成良好的编程习惯;为后续课程的实践环节和日后实际工作打下良好的基础;也便于教师批改与回复电子作业。执行良好的编码规范可以使编写出来的程序易于阅读、理解和管理。c语言编码规范2.编码规范的定义编码(coding):是指用适当的代码编写工具编写C语言程序的源代码编码规范:相关英文说法:codingstandard,codingconvention,codingcriterion是指被普通采用的、或由某个企业或机构规定的,用计算机语言编写程序的过程中需要遵守的一套规则或约定的集合编码规范并不是语言的语法规则c语言编码规范3.编码规范的应用在软件业高速发展、团队开发成为基本开发模式的今天,几乎每个软件企业或软件开发团队都会制定各种各样的规范,应用于软件开发过程的各个环节中,编码规范是最基础规范之一。不同的公司,对同一种开发语言,一般都采用类似的规范,也就是说编码规范具有一些通用性的标准c语言编码规范4.编码规范的学习和执行要求学习和掌握规范标准要求在本课程的作业过程中执行这些规范,上交的电子作业必须符合这些规范要求要求在后续相关课程中执行此规范中的基本部分,并根据后续课程内容要求执行相应的扩展规范c语言编码规范第二部分C语言编码规范Codingstandardsc语言编码规范1.文件级模块说明规范specificationc语言编码规范文件级模块说明规范的含义模块定义:指以独立的文件形式存在的模块,主要包括两类C或C++的扩展名为.c或.cpp的源代码文件模块,例如abc.cpp,exam.c扩展名为.h的头文件模块,如abc.h,exam.h对于任何一个用户新建的模块,必须按规范要求给出模块的相关描述信息c语言编码规范文件级模块说明的构成文件级模块说明至少应由以下部分构成1.模块的作者信息2.模块的版权声明3.模块的名称4.模块的摘要描述5.模块的其它说明6.模块的历史信息c语言编码规范文件级模块说明的编写1.每个用户的文件级代码模块必须编写一个说明2.模块说明要求以注释的形式出现在模块的首部3.为了减少每次的工作,每个人应先编写好不变部分,每新建一个模块将不变部分复制到文件首部,再行更改可变部分c语言编码规范中文版文件级模块说明规范/****************************************************\作者信息: 姓名:学号:班级:学院:

Email:电话:版权声明:模块名称:

本模块详细名称,不是文件名摘要:

摘要地描述本模块的功能其它说明:

可有可无,有关本模块的附加说明,这些说明可以在以后帮助代码的阅读者理解这个模块里的内容,如:算法的描述,特殊情况,参考资料等模块历史:

谁于某年某月某日创建本模块,创建人email

谁于某年某月某日修改本模块,修改人email

修改原因:可有可无,根据需要添加\****************************************************/c语言编码规范

例子/****************************************************\作者信息: 姓名:张三学号:06123456

班级:计科0601班学院:计算机

Email:zhangsa

电话:51689999版权声明: 版权由张三所有,除老师外,未经允许不得拷贝本人作业模块名称:

第一个模块摘要:

本模块是我的第一个C语言作业,实现了一些简单的功能其它说明:

无模块历史:

张三于2006年9月20日创建本模块,email:zhangsa

张三于2006年9月25日修改本模块,email:同上修改原因:增加了一个输出正方形的函数\****************************************************/注意:红色部分为必填部分,缺填红色部分可能导致作业无法得到批阅注释开始注释结束c语言编码规范/****************************************************\作者信息:姓名:张三学号:06123456班级:计科0601班学院:计算机

Email:zhangsa电话:51689999版权声明:版权由张三所有,除老师外,未经允许不得拷贝本人作业模块名称:

第一个模块摘要:

本模块是我的第一个C语言作业,实现了一些简单的功能其它说明:无模块历史:张三于2006年9月20日创建本模块,email:zhangsa张三于2006年9月25日修改本模块,email:同上修改原因:增加了一个输出正方形的函数\****************************************************/#include“stdio.h”#include“string.h”/**********************\main函数说明\**********************/main(){

…..}模块说明示例:example.cppc语言编码规范EnglishVersion/****************************************************\AuthorInfo: Name:AuthorID:Class:School: Email:Tel.Copyright(c)2005NJTUModuleName: Anunabbreviatednameforthemodule(notthe)Abstract: DescriptionofwhatthismoduledoesNotes: [Optional]Additionalnotesaboutthismodule-thingsthatmayhelp thereaderofthiscodelateron.Examplesare:algorithmdescription, specialcaseconditions,references,etc.History: Createdonmm/dd/yyyybyemail-name Modifiedonmm/dd/yyyybyemail-name [Optional]historydescription\****************************************************/c语言编码规范2.函数说明规范FunctionSpecificationc语言编码规范关于函数说明对于作业中程序的任何一个函数,包括main函数,都需要写出函数的说明一个良好的编程习惯:写任何一个函数以前,第一步工作就是先把函数说明写出来,而不是直接先写代码c语言编码规范函数说明规范/***********************************************\函数名称:

写出函数的名称功能描述:

描述出函数具有的功能函数参数:

输入输出参数说明,对每个参数都需要作出仔细说明返回值:

返回值说明,或者标明无回值模块历史:

谁于某年某月某日创建本模块,创建人email

谁于某年某月某日修改本模块,修改人email

修改原因:可有可无,根据需要添加\**********************************************/c语言编码规范例子/**********************************************************************\函数名称: main功能描述:

输出Helloworld!函数参数:

无返回值:

无模块历史:

张三于2006年9月20日创建本模块,email:zhangsa\*********************************************************************/voidmain(){ printf("Helloworld!");}c语言编码规范EnglishVersion/***********************************************\FunctionName:FunctionDescription:DescriptionofwhatthefunctiondoesArguments:[<blank>|OUT|IN/OUT]argument-name-descriptionofargument…ReturnValue:return-value-descriptionofreturnvalueorNONEHistory:Createdonmm/dd/yyyybyemail-name\**********************************************/c语言编码规范3.代码注释c语言编码规范恰到好处的注释1.对重要变量说明其作用;2.对每一段函数代码加注释说明功能;3.对重要的语句加注释说明其功能;4.对重要的函数调用的参数加实际参数说明;5.在自己认为必要的地方加上注释6.可以采用/**/和//进行注释c语言编码规范4.基本编辑规范要求正确使用:缩进,空格,空行c语言编码规范缩进根据语句间的层次关系采用缩进格式书写程序,每进一层,往后缩进一层函数内的变量声明与执行语句要缩进一层缩进长函数调用语句pMsg=ComReadMsgFromQueue(aServer,NULL,ComWait_c,lTimeOut);一个缩进层次为四个英文字符宽度一般用Tab键进行缩进,定义Tab为四个英文字符宽度许多开发工具编辑器如VC一般会自动帮你缩进c语言编码规范要加空格的场合1.在逗号后面和语句中间的分号后面加空格,如:inti,j,

k;for(i=0;i<n;i++)Result=func(a,b,c);2.在二目运算符的两边各留一个空格,如a>ba<=bi=03.关键字两侧,如if()…,不要写成if()…4.类型与指针说明符之间一定要加空格:char*szName;c语言编码规范不要加空格的场合1.在结构成员引用符号.和->左右两加不加空格:pStud->szName,Student.nID2.不要在行尾加多余的空格或Tab3.函数名与左括号之间不要加空格:func(…)4.指针说明符号*与变量名间不要加空格:int*pInt;不要写成:int*pInt;5.复合运算符中间不能加空格,否则会产生语法错误,如:a+=ba<=b都是错误的c语言编码规范空行与换行1.函数的变量说明与执行语句之间加上空行;2.每个函数内的主要功能块之间加空行表示区隔;3.一行语句不要写的太长,将长语句分成多行写;4.不要在一行中写多条语句.c语言编码规范例子intmain(){inti,j,nSum=0;//变量说明

for(i=0;i<10;i++)//执行代码

{ for(j=0;j<10;j++) { nSum+=i; }}}注意空格空行注意各层缩进c语言编码规范5.标识符命名NamingIndentifiersc语言编码规范标识符命名基本要求1.这里所指的标识符包括符号常量、变量、函数名、类型名、成员名、C++中的类名等需要编程者命名的各种文字符号2.标识符命名必须符合语法规则3.任何标识符的命名最好能有一定的含义4.标识符的命名尽量采用英文c语言编码规范5.1符号常量命名规范符号常量的命名用大写字母表示如#defineLENGTH10如果符号常量由多个单词构成,两个不同的单词之间可以用下划线连接如#defineMAX_LEN50c语言编码规范5.2变量命名普通规范1.变量名一般需要反映变量的用途如:intsum;2.如果变量名由多个单词构成,每个单词的首字符要大写如:intTotalFiles;c语言编码规范5.3变量命名与变量类型在实际软件开发中,常见的规范强制要求能从变量名中看出变量的类型,因此,建议同学们一开始就养成这样的习惯。使变量能反映类型的方法是在变量的前面加上各种前缀,由这些前缀反映变量的类型对类型前缀规范,各种不同的软件开发环境可能会有不同规范,不同的软件企业或开发团队,也可能会有不同的规范,没有绝对的标准,但是这些规范都大同小异。c语言编码规范5.4C常见变量前缀建议规范类型前缀范例intn或iintnSum,iSum;charchcharchTemp;doubleddoubledSum;floatflfloatflSum;char*szchar*szBuffer;char[]szcharszBuffer[100];pointpint*pnBuffer;pointertopointerppint*ppnBuffer;arrayarr或rgintnarr[10],nrg[10];c语言编码规范5.5关于C++命名规范在各种C++中,还有许多不同类型的标识符前缀,包括模块成员、全局变量等c语言编码规范其它供参考C++前缀规范sSHORTSignedinteger,16-bit.lLONGSignedinteger,32-bit.usUSHORTUnsignedinteger,16-bit.ulULONGUnsignedinteger,32-bit.bBYTENon-countingpurposes,8-bitallocation.wWORDNon-countingpurposes,16-bitallocation.dwDWORDNon-countingpurposes,32-bitallocat

温馨提示

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

最新文档

评论

0/150

提交评论