1、3.4 数据注释 123.5 代码注释 12第四章命名 154.1 通用命名规则 154.2 文件命名 154.3 类型命名 154.4 变量命名 164.5 常量命名 174.6 函数命名 174.7 枚举命名 174.8 宏命名 18第五章杂项 19文件修改记录修改日期版本修改页码、章节、条款修改描述作者2011-4-290.1创建初稿周超2011-5-110.113.3数据注释4.3类型命名4.4变量命名4.6函数命名1) 修改3.4数据注释【规则3-4-3】全局变量注释例子2) 在“ 4.3类型命名”、“4.4变 量命名”、“4.6函数命名”中, 增加对前缀、关键缩与词等可以 适当全部
2、大写的处理。第一章原则本文档的目的是提供一个公共的编码规范。这个规范详细阐述在编码时要怎样写、 不要怎样写,旨在提高代码的可读性、可维护性,使代码易于管理,使所有人可以集中精力去实现内容,而非处理各种复杂的表现形式。使代码易于管理的方法之一是增强代码一致性,让别人可以读懂你的代码是很重要的, 保持统一编程风格意味着可以轻松根据 模式匹配”规则推断各种符号的含义。创建通用的、必需的习惯用语和模式可以使代码更加容易理解。 虽然在某些情况下改变一些编程风格可能会是好的选择,但我们还是应该遵循一致性原则,尽量不这样去做。关键在于 保持一致。第二章排版2.1 空行【规则2-1-1】在每个函数、结构体、枚
3、举定义结束之后都要加空行。【规则2-1-2】在一个函数体内,逻辑密切相关的语句之间不加空行,其它地方应加空 行分隔。struct st1/空行while (condition);statement/ 空行enumif (condition)statement2;elsevoid Function1( )statement3;statement4;void Function2( )函数之间的空行函数内部的空行【规则2-1-3】相对独立的程序块之间、变量说明之后必须加空行。if (!is_lock_card_succ)./ program codeGetLockPhonelnfo(&st_lock
4、_phone_info)/空格GetLockPhoneInfo(&st lock phone info);不规范代码规范代码2.2 代码行【规则2-2-1】一行代码只做一件事情,如只定义一个变量,或只写一条语句。这样的 代码容易阅读,并且方便于写注释。【规则2-2-2 if、for、while、do等语句自占一行,执行语句不得紧跟其后。不论 执行语句有多少都要加。这样可以防止书写失误。int width, height, depth;/ 宽度高度深度int width; / 宽度int height; / 高度int depth; / 深度X = a + b; y = c + d; z = e
5、 + f;x = a + b;if (width =”“=” “ +” “ * ” “ % “ &、 、 “”这类操作符前后不加空格。【建议2-3-1】对于表达式比较长的for语句和if语句,为了紧凑起见可以适当地去掉 一些空格,如 for (i=0; i10; i+) 和 if (a=b) & (c= 2000)if(year=2000)if (aif (a = b) & (c =b&c=d)for (i = 0; i 10; i+)for (i=0;for(i=0;ii+)x = a b ? a : b;x=aFunction();b - Function();良好风格 不良风格2.4 对
6、齐缩进【规则2-4-1】程序块要采用缩进风格编写。【规则2-4-2】对齐使用TAB键,TAB键宽度设置为4个空格。应注意使用不同编辑器时, TAB键设置不同造成的排版不同; 应注意某些编 辑器在识别、显示 TAB键上存在问题;最终排版应以在项目的主代码编辑器(如 VCSource In sight 等)中显示一致统一、整洁清晰为准。Source Insight 中设置:Options-Doucument Options- “ Tab Width:4 ”【规则2-4-3】函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用 缩进风格,case语句下的情况处理语句也要遵从语句缩进要求。【
7、规则2-4-4】程序块的分界符 (如 和应各独占一行并且位于同一列, 同时与引用它们的语句左对齐。在函数体的开始、类的定义、结构的定义、枚举的定义以及if、for、do、while、switch 、case语句中的程序都要采用如上的缩进方式。for (.) for (.)if (.)void example_fun( void )【规则2-4-5】预处理指令不需要缩进, 总是从行首开始。即使预处理指令位于缩进代码块中,指令也应从行首开始。/良好风格:预处理指令均从行首开始if (lopsided_score)#if DISASTER_PENDING / Correct - Starts at
8、beginning of lineDropEverything();#if NOTIFYNotifyClient();#endifBackToNormal();/不良风格:缩进的预处理指令#if DISASTER_PENDING / Wrong! The #if should be at beginning of line#endif / Wrong! Do not indent #endif2.5 长行拆分【规则2-5-1】代码行最大长度宜控制在 100至110个字符以内。代码行不要过长,否则眼睛看不过来,也不便于打印。【规则2-5-2】较长的语句(110字符)要分成多行书写;长表达式要在低
9、优先级操 作符处拆分成新行,操作符放在新行之首(以便突出操作符) 。拆分出的新行要进行适当的缩进,使排版整齐,语句可读。【规则2-5-3】循环、判断等语句中若有较长的表达式或语句, 则要进行适应的划分长表达式要在低优先级操作符处划分新行,操作符放在新行之首。【规则2-5-4】若函数或过程中的参数较长,则要进行适当的划分。if (very_longer_variable1 = very_longer_variable12)(very_longer_variable3 = very_longer_variable14) (very_longer_variable5 = very_longer_variable16) virtual CMatrix CMultiplyMatrix (CMatrix leftMatrix,CMatrix rightMatrix);for (very_longer_initialization; very_longer_condition; very_longer_update)report
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1