武汉华工赛百数据系统有限公司 Central-China Cyber Data System Co., Ltd.
VC 编程规范
版本 1.0, 2002-1-30 华工赛百 VC 开发小组
1 排版格式约定
程序块采用缩进风格编写, 为单位, TAB。 1.1 程序块采用缩进风格编写, 缩进量以一个 TAB 为单位, 每层嵌套缩进一个 TAB。 1.2 相对独立的程序块之间、变量说明之后必须加空行。 相对独立的程序块之间、变量说明之后必须加空行。空行一般为 1-3 行,不 - 允许存在不规则的空行。 允许存在不规则的空行。
示例:如下例子不符合规范。 if (VK_ESCAPE == nChar) { ... // program code } pLeft.x = m_ptCenter.x - m_nRadius; pLeft.y = m_ptCenter.y - m_nRadius;
应如下书写: if (VK_ESCAPE == nChar) { ... // program code }
pLeft.x = m_ptCenter.x - m_nRadius; pLeft.y = m_ptCenter.y - m_nRadius;
1.3
较长的语句( 字符)要分成多行书写, 较长的语句(>80 字符)要分成多行书写,长表达式要在低优先级操作符处划 分新行, 操作符放在新行之首, 划分出的新行要进行适当的缩进, 使排版整齐, 分新行, 操作符放在新行之首, 划分出的新行要进行适当的缩进, 使排版整齐, 语句可读。 语句可读。
m_nRadius = (int) sqrt(sqr(m_ptBegin.x - m_ptPrev.x) + sqr(m_ptBegin.y - m_ptPrev.y));
1.4
循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分, 循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达 式要在低优先级操作符处划分新行,操作符放在新行之首。 式要在低优先级操作符处划分新行,操作符放在新行之首。
if ((ptInter.y >= min(ptStart.y, ptEnd.y)) &;&; (ptInter.y <= max(ptStart.y, ptEnd.y))) { ... // program code
第 1页
武汉华工赛百数据系统有限公司 Central-China Cyber Data System Co., Ltd.
}
若函数或过程中的参数较长,则要进行适当的划分。 1.5 若函数或过程中的参数较长,则要进行适当的划分。 不允许把多个短语句写在一行中 即一行只写一条语句。 在一行中, 1.6 不允许把多个短语句写在一行中,即一行只写一条语句。
示例:如下例子不符合规范。 rect.length = 0; rect.width = 0;
应如下书写: rect.length = 0; rect.width = 0;
if、for、do、while、case、switch、 等语句自占一行, if、for、 1.7 if、for、do、while、case、switch、default 等语句自占一行,且 if、for、 do、 等语句的执行语句部分无论多少都要加括号{} {}。 do、while 等语句的执行语句部分无论多少都要加括号{}。
示例:如下例子不符合规范。 if (NULL == pUserCR) return;
应如下书写: if (NULL == pUserCR) { return; }
程序块的分界符( C/C++语言的大括号 语言的大括号‘ 1.8
程序块的分界符(如 C/C++语言的大括号‘{’和‘}’ 应各独占一行
并且位 ) 于同一列,同时与引用它们的语句左对齐。在函数体的开始、类的定义、 于同一列,同时与引用它们的语句左对齐。在函数体的开始、类的定义、结构 的定义、 if、for、do、while、switch、 的定义、枚举的定义以及 if、for、do、while、switch、case 语句中的程序 都要采用如上的缩进方式。 都要采用如上的缩进方式。
示例:如下例子不符合规范。 for (...) { ... // program code } if (...) { ... // program code }
应如下书写: for (...) { ... // program code }
第 2页
武汉华工赛百数据系统有限公司 Central-China Cyber Data System Co., Ltd.
在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、 1.9 在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、 之后或者前后要加空格; 进行非对等操作时, 之后或者前后要加空格; 进行非对等操作时, 如果是关系密切的立即操作符 如 ( ,后不应加空格 ->) 后不应加空格。 ,后不应加空格。
说明:采用这种松散方式编