欢迎来到天天文库
浏览记录
ID:40535488
大小:144.50 KB
页数:13页
时间:2019-08-04
《c编程规范v1.02》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C编程规范C编程规范第1.02版上海华腾软件系统有限公司二○○八年八月十三日10C编程规范版本控制信息版本日期拟稿和修改说明0.002003-3-16林德良初稿(讨论稿),译自BellLab《RecommendedCStyleandCodingStandards》,1997。0.022003-3-25林德良根据反馈意见,修改了下列内容:去掉了用英文书写注释的规定;Switch语句中的defaultcase加上注释;规定了函数参数个数的限制。1.002003-4-28林德良按新的技术文档编排规范修改了封面和
2、页眉。1.012003-7-30林德良结合CVS版本管理要求,将程序文件序言中的文件名和版本号该用自动变量。1.022008-8-13陈大鹏修改了注释和变量命名规则。本文档中的所有内容为上海华腾软件系统有限公司的机密和专属所有。未经上海华腾软件系统有限公司的明确书面许可,任何组织或个人不得以任何目的、任何形式及任何手段复制或传播本文档部分或全部内容。10C编程规范目录1文件命名12源程序文件13头文件14其他文件25注释26说明(DECLARATION)47函数说明58空格和空行69简单句610复合语句7
3、11运算符及表达式812基本命名约定913常量1014条件编译1010C编程规范1文件命名1.文件主名以字母开头,由字母、数字、下划线组成。2.采用下列文件名后缀:§.c(C源程序)§.h(头文件)§.o(可重载目标文件)§.a(静态库)§.sl(动态库)注:与特定编译器缺省后缀约定冲突的,遵循编译器的缺省后缀约定。3.编辑工具make的控制文件取名Makefile(不要用makefile)。4.自述文件取名README。2源程序文件1.源文件段落依下列顺序:§序言§系统头文件引用(include)§用户
4、头文件引用(include)§全局常量宏定义(define)§全局函数宏定义(define)§全局类型定义(typedef)§全局枚举类型定义(enums)§全局变量说明(extern)§全局变量说明(non-static)§全局变量说明(static)§函数(通常从最高层开始,按层次横向排列。如果定义较多的独立的公用函数,可以考虑按字母顺序排列。)2.序言内容应包括版权声明、文件名、内容描述、版本历史,格式参见(文件头注释):3.段落之间用空行分隔。4.文件长度尽可能在1000行之内。5.每行长度尽可能
5、不要超过79列。3头文件6.用户头文件名避免使用系统头文件名。10C编程规范1.按功能组织头文件,例如独立的子系统应单独一个头文件。2.与机器相关的说明组成单独头文件。3.多个源文件引用的说明放入头文件中。4.头文件不要嵌套。5.说明函数或外部变量的头文件应在定义该函数或变量的文件中引用。6.不要在头文件中定义变量。7.只引用需要的头文件。8.每个头文件采用下面的形式避免被重复引用:#ifndef_EXAMPLE_H_#define_EXAMPLE_H_.../*bodyofexample.hfile*/
6、#endif/*_EXAMPLE_H_*/9.引用头文件不要使用绝对路径。使用引用系统头文件;使用“filename.h””引用用户头文件,并使用C编译器的–I选项指出路径。10.与数据库中字段值相关的宏定义规则:/*tbl_opr_degree_def.opr_degree柜员签到状态*/#defineOPR_LOG_STAT_LOGOUT"0"/*-未签到*/#defineOPR_LOG_STAT_LOGIN"1"/*-签到*/#defineOPR_LOG_STAT_TMP"2
7、"/*-临时签退*/#defineOPR_LOG_STAT_FORBID"3"/*-强制签退*/1其他文件11.编写“README”文件,列出条件编译开关、与机器相关的文件等信息。2注释1.文件头注释每一个模块的开头都应该有一组该模块的详细的注解,以简要说明该模块作用。注释的格式如下例所示:/********************************************************************Copyright2006,ShanghaiHuatengSoftwareSys
8、temsCo.,Ltd.*Allrightreserved.*THISISUNPUBLISHEDPROPRIETARYSOURCECODEOFSHANGHAIHUATENG10C编程规范*SOFTWARESYSTEMSCO.,LTD.THECONTENTSOFTHISFILEMAYNOT*BEDISCLOSEDTOTHIRDPARTIES,COPIEDORDUPLICATEDINANYFORM,*INWHOLEORINPART
此文档下载收益归作者所有