




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#/8C语言编程规范上海交通大学信息安全学院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变量命名规则关于基本种类的变量,采纳以下的命名方法:变量种类_变量名此中基本变量种类定义以下:i:整型c:字符型s:字符数组种类,一般用于缓冲区的定义sz:字符串型p:指针型b:布尔型比如:inti_count;char*sBuffer;BOOLb_used;假如某变量为全局变量,则需要在变量的头上加g。比如intgi_listern_fd;关于构造体种类,其变量种类命名以下:st_构造种类_变量描绘比如:sem_tst_sem_lock;请在变量名中使用下划线以分开单词,坚持使用小写;把大写字母留给宏和列举常量。关于一些功能不言而喻的变量,如循环变量,则能够使用简单的i,j,k,temp等变量名。1.3函数命名规则在采纳面向对象的方法时,大多数的函数与某构造体有着亲密的联系。其关系近似与“类-成员函数”的关系。关于此类函数,采纳以下的命名法例:构造描绘_函数功能描绘(此中函数功能描绘为一个动词或一个动宾构造。比如:conn_create(;conn_get_id(;关于一些不睦某构造体亲密联系的函数,则使用以下的命名法例:func_函数功能描绘(比如:func_handle_login_req(2代码规范2.1缩进使用Tab进行缩进,禁止使用空格缩进。Tab的长度为4格。以下情况应当缩进:函数体开始的地点♦条件、循环、分支的履行部分♦程序转行2.2函数长度一般一个函数的长度在20-50行之间比较合适。假如太长或很短则建议对函数进行切割或归并。即便是特别状况下,一个函数的长度也不要超出200行。2.3局部变量函数中局部变量的数目不该超出5-10个。一般人脑能够同时办理7个左右不同的事情。超出这个数目则很简单犯错。2.4大括号的地点•一般代码段将开始的大括号放在一行的最后,而将结束大括号放在一行的第一位,以下所示:if(xistrue{wedoy}•命名函数:开始的括号是放在下一行的第一位,以下:intfunction(intx{bodyoffunction
}•do-while以及if-else需要注意的是结束的括号在它所占的那一行是空的,__除了—它跟从着同一条语句的持续符号。女口"while"在do-while循环中,或许"else"在讦语句中。以下:do{bodyofdo-loop}while(condition;以及if(x==y{}elseif(x>y{}else{}此外,注意到这类大括号的搁置方法减小了空行的数目,但却没有减少可读性。于是,在屏幕大小遇到限制的时候,你就能够有更多的空行来写些说明了。,依据下边的方式2.5,依据下边的方式•假如函数的参数不可以被雅观地放在一行中把它们分开intlots_of_args(intan_integer,longa_long,shorta_short,doublea_double,floata_float•在左括号以前以及逗号以后增添空格将使程序更为简单阅读。特别是在逗号以后增添空格。•当我们把一个表达式分红多行的时候,在操作符以前而不是以后切割。if(foo_this_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((foo=(char*malloc(sizeof*foo==0fatal("virtualmemoryexhausted";而要写:foo=(char*malloc(sizeof*foo;if(foo==0fatal("virtualmemoryexhausted";3说明规范3.1文件头每个文件一定有一个文件头说明,大概说明文件中包括的功能。3.2函数头在每个函数定义的前面一定有一个函数,说明这个函数的功能,参数和返回值。比如:///////////////////////////////////////////////////////////////////////////////功能:创立新的连结节点//参数://i_fd:连结的SocketFD//返回值:成功返回节点指针,不然返回NULL//改正记录://///////////////////////////////////////////////////////////////////////////conn_t*conn_create(inti_fd{•••}3.3函数内部说明函数内部重要的变
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园实习老师聘用合同协议
- 区域战略合作框架合同
- 房屋买卖合同补充协议书
- 企业短期借款合同协议
- 装饰装修材料供需合同范本
- 广告公司员工培训合同范本
- 水资源综合利用工程合同书
- 道路交通事故双方和解合同书
- 农业观光园土地租赁合同
- 小学生每日教育课件
- 资产运营总经理岗位职责
- 2024-2025学年新教材高中英语 Unit 6 Earth first理解 课文精研读教案 外研版必修第二册
- 110kV变电站专项电气试验及调试方案
- 2024时事政治必考试题库(预热题)
- DZ∕T 0215-2020 矿产地质勘查规范 煤(正式版)
- 威图电柜空调SK3304500使用说书
- 品质部组织架构图构
- 《无损检测》绪论
- 中药饮片的销售方案
- 2024年湖南省普通高中学业水平考试政治试卷(含答案)
- 《创意设计》课程标准
评论
0/150
提交评论