文档介绍:腾讯集团管理标准GL/YF014--L1C++编码规范2007-10-25发布2007-10-25实施———————————————————————————————————腾讯集团发布前言本标准系公司首次发布实施,主要针对公司所有软件产品源代码范围的C和C++编码风格,对C和C++文件的版式、注释、标识符命名、可读性、变量、结构、函数和过程等方面均作出规范,以保障公司项目代码的易维护性和编码安全性。本标准由研发管理部、即时通信产品部共同制定。本标准主要起草人:Junjun(张莉珺)、qingming(王清明)、tracy(周银燕)本标准主要审核人:anwenfeng(冯文信)、paulinesong(宋虹漫)、ericlin(林松)、stevezheng(郑全战)、echouzhou(周立)、polo(陈广域)、leon(郭凯天)本标准批准人:jeffxiong(熊明华)、charles(陈一丹)、tony(张志东)、ponyma(马化腾)本标准首次发布日期:2007年10月25日本标准发送部门:公司各部门C++编码规范1目的为形成公司统一的C++编码风格,以保障公司项目代码的易维护性和编码安全性,特制定本规范。2适用范围本标准适用于腾讯集团(含分公司等各级分支机构)所有使用C和C++作为开发语言的软件产品。本标准中“腾讯集团”是指腾讯控股有限公司、其附属公司、及为会计而综合入账的公司,包括但不限于腾讯控股有限公司、深圳市腾讯计算机系统有限公司、腾讯科技(深圳)有限公司、腾讯科技(北京)有限公司、深圳市世纪凯旋科技有限公司、时代朝阳科技(深圳)有限公司、腾讯数码(深圳)有限公司、深圳市财付通科技有限公司。3总体原则所有使用C和C++作为开发语言的软件产品都须遵照本规范的内容进行编码。:程序块要采用缩进风格编写,缩进的空格数为4个。说明:由开发工具自动生成的代码可能不一致,但如果开发工具可以配置,则应该统一配置缩进为4个空格。:缩进或者对齐只能使用空格键,不可使用TAB键。说明:使用TAB键需要设置TAB键的空格数目是4格。:相对独立的程序块之间、变量说明之后必须加空行。说明:以下情况应该是用空行分开:1)函数之间应该用空行分开;2)变量声明应尽可能靠近第一次使用处,避免一次性声明一组没有马上使用的变量;3)用空行将代码按照逻辑片断划分;4)每个类声明之后应该加入空格同其他代码分开。示例:如下例子不符合规范。if(!valid_ni(ni)){...//programcode}repssn_ind=ssn_data[index].repssn_index;repssn_ni=ssn_data[index].ni;应如下书写:if(!valid_ni(ni)){...//programcode}repssn_ind=ssn_data[index].repssn_index;repssn_ni=ssn_data[index].ni;:较长的语句(>80字符)要分成多行书写。说明:以下情况应分多行书写:1)长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。2)若函数或过程中的参数较长,则要进行适当的划分。3)循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首。示例:=NO7_TO_STAT_PERM_COUNT_LEN+STAT_SIZE_PER_FRAM*sizeof(_UL);act_task_table[frame_id*STAT_TASK_CHECK_NUMBER+index].occupied=stat_poi[index].occupied;act_task_table[taskno].duration_true_or_false=p_statistic_state(stat_item);report_or_not_flag=((taskno<MAX_ACT_TASK_NUMBER)&&(n7stat_stat_item_valid(stat_item))&&(act_task_table[taskno].result_data!=0));pare((BYTE*)&stat_object,(BYTE*)&(act_task_table[taskno].stat_object),sizeof(_STAT_OBJECT));n7stat_flash_act_duration(stat_item,frame_id*STAT_TASK_CHECK_NUMBER+index,stat_objec