aihot  2017-05-09 16:32:26  OpenCV |   查看评论   

 常见C/C++编码规范(4)

2.3. 可维护性 
<规则1> 在逻辑表达式中使用明确的逻辑判断。 
示例:如下逻辑表达式不规范。 
1) if ( strlen(strName) ) 
2) for ( index = MAX_SSN_NUMBER; index ; index -- ) 
3) while ( p && *p ) // 假设p为字符指针 

应改为如下: 
1) if ( strlen(strName) != 0 ) 
2) for ( index = MAX_SSN_NUMBER; index != 0 ; index -- ) 
3) while ((p != NULL) && (*p != '\0' )) 

<规则2> 预编译条件不应分离一完整的语句。 
不正确: 
if (( cond == GLRUN) 
#ifdef DEBUG 
(cond == GLWAIT) 
#endif 





正确: 
#ifdef DEBUG 
if( cond == GLRUN cond == GLWAIT ) 
#else 
if( cond == GLRUN ) 
#endif 




<规则3> 在宏定义中合并预编译条件。 
不正确: 
#ifdef EXPORT 
for ( i = 0; i < MAX_MSXRSM; i++ ) 
#else 
for ( i = 0; i < MAX_MSRSM; i++ ) 
#endif 

正确: 
头文件中: 
#ifdef EXPORT 
#define MAX_MS_RSM MAX_MSXRSM 
#else 
#define MAX_MS_RSM MAX_MSRSM 
#endif 
源文件中: 
for( i = 0; i < MAX_MS_RSM; i++ ) 

<规则4> 使用宏定义表达式时,要使用完备的括号。 
如下的宏定义表达式都存在一定的隐患。 
#define REC_AREA(a, b) a * b 
#define REC_AREA(a, b) (a * b) 
#define REC_AREA(a, b) (a) * (b) 

 1/6    1 2 3 4 5 6 下一页 尾页
 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自常见C/C++编码规范(4)

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]