C语言编程规范.

C语言编程规范.

ID:38979328

大小:17.50 KB

页数:8页

时间:2019-06-22

C语言编程规范._第1页
C语言编程规范._第2页
C语言编程规范._第3页
C语言编程规范._第4页
C语言编程规范._第5页
资源描述:

《C语言编程规范.》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C语言编程规范上海交通大学信息安全学院1命名规则1.1类型命名规则对于结构体类型,按照以下的方法进行定义和命名:typedefstruct_类型描述_t{.....}类型描述_t;例如:typedefstruct_sem_t{inti_sem_id;}sem_t;如果类型描述超过一个单词,则单词之间用下划线分开。例如:typedefstruct_map_node_t{BOOLb_used;UINT32i_id;void*p_data;}map_node_t;1.2变量命名规则对于基本类型的变量,采用如

2、下的命名方法:变量类型_变量名其中基本变量类型定义如下:i:整型c:字符型s:字符数组类型,一般用于缓冲区的定义sz:字符串型p:指针型b:布尔型例如:inti_count;char*sBuffer;BOOLb_used;如果某变量为全局变量,则需要在变量的头上加g。例如intgi_listern_fd;对于结构体类型,其变量类型命名如下:st_结构类型_变量描述例如:sem_tst_sem_lock;请在变量名中使用下划线以分隔单词,坚持使用小写;把大写字母留给宏和枚举常量。对于一些功能显而易见的变

3、量,如循环变量,则可以使用简单的i,j,k,temp等变量名。1.3函数命名规则在采用面向对象的方法时,大部分的函数与某结构体有着密切的联系。其关系类似与“类-成员函数”的关系。对于此类函数,采用如下的命名法则:结构描述_函数功能描述(其中函数功能描述为一个动词或一个动宾结构。例如:conn_create(;conn_get_id(;对于一些不和某结构体密切联系的函数,则使用如下的命名法则:func_函数功能描述(例如:func_handle_login_req(2代码规范2.1缩进使用Tab进行缩进

4、,严禁使用空格缩进。Tab的长度为4格。以下情形应该缩进:函数体开始的位置◆条件、循环、分支的执行部分◆程序转行2.2函数长度一般一个函数的长度在20-50行之间比较适合。如果太长或太短则建议对函数进行分割或合并。即使是特殊情况下,一个函数的长度也不要超过200行。2.3局部变量函数中局部变量的数目不应超过5-10个。一般人脑可以同时处理7个左右不同的事情。超过这个数目则很容易出错。2.4大括号的位置●普通代码段将开始的大括号放在一行的最后,而将结束大括号放在一行的第一位,如下所示:if(xistru

5、e{wedoy}●命名函数:开始的括号是放在下一行的第一位,如下:intfunction(intx{bodyoffunction}●do-while以及if-else需要注意的是结束的括号在它所占的那一行是空的,__除了__它跟随着同一条语句的继续符号。如"while"在do-while循环中,或者"else"在if语句中。如下:do{bodyofdo-loop}while(condition;以及if(x==y{…}elseif(x>y{...}else{…}另外,注意到这种大括号的放置方法减小了空

6、行的数量,但却没有减少可读性。于是,在屏幕大小受到限制的时候,你就可以有更多的空行来写些注释了。2.5对齐方式●如果函数的参数不能被美观地放在一行中,按照下面的方式把它们分开:intlots_of_args(intan_integer,longa_long,shorta_short,doublea_double,floata_float●在左括号之前以及逗号之后添加空格将使程序更加容易阅读。尤其是在逗号之后添加空格。●当我们把一个表达式分成多行的时候,在操作符之前而不是之后分割。if(foo_this

7、_is_long&&bar>win(x,y,z&&remaining_condition●尽力避免让两个不同优先级的操作符出现在相同的对齐方式中。例如,不要象下面那样写:应该附加额外的括号以使得文本缩进可以表示出这种嵌套:●当在一个if语句中嵌套了另一个if-else语句,总是用花括号把if-else括起来。因此,不要写:if(fooif(barwin(;elselose(;而总是要写:if(foo{if(barwin(;elselose(;}●尽力避免在if的条件中进行赋值。例如,不要写:if((f

8、oo=(char*malloc(sizeof*foo==0fatal("virtualmemoryexhausted";而要写:foo=(char*malloc(sizeof*foo;if(foo==0fatal("virtualmemoryexhausted";3注释规范3.1文件头每个文件必须有一个文件头注释,大致说明文件中包含的功能。3.2函数头在每个函数定义的前面必须有一个函数,说明这个函数的功能,参数和返回值。例如://////////////

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。