C/C++代码规范(二)——表达式、常量、函数设计

代码规范是每个程序员倍加关注的问题。C语言编码与注释规范,懂不懂编码规范笔试时能一眼被看出来,有良好的编码习惯笔试时也会增色不少,知道你有过工作经验或者参与过大型项目。本文是在学习林锐博士的《高质量C/C++编程指南》一书中,摘录、总结的笔记。本文是第二部分,第一部分博客地址:C/C++代码规范(一)——文件结构、排版、命名规则

文章目录

  • 4 表达式和基本语句
    • 4.1 运算符的优先级
    • 4.2 复合表达式
    • 4.3 if 语句
      • 4.3.1 布尔变量与零值比较
      • 4.3.2 整型变量与零值比较
      • 4.3.3 浮点变量与零值比较
      • 4.3.4 指针变量与零值比较
      • 4.3.5 对if语句的补充说明
    • 4.4 循环语句的效率
    • 4.5 for 语句的循环控制变量
    • 4.6 switch语句
    • 4.7 goto语句
  • 5 常量
    • 5.1 为什么需要常量
    • 5.2 const 与 #define的比较
    • 5.3 常量定义规则
    • 5.4 类中的常量
  • 6 函数设计
    • 6.1 参数的规则
    • 6.2 返回值的规则

4 表达式和基本语句

表达式和语句都属于C++/C的短语结构语法。它们看似简单,但使用时隐患比较多。作为一个职业的程序员:连if、for、while、goto、switch这样简单的东西也要探讨编程风格。

4.1 运算符的优先级

C++/C语言的运算符有数十个,运算符的优先级与结合律如表4-1所示。注意一元运算符 + - * 的优先级高于对应的二元运算符。
规则4-1-1】如果代码行中的运算符比较多,用括号确定表达式的操作顺序,避免使用默认的优先级。由于将表4-1熟记是比较困难的,为了防止产生歧义并提高可读性,应当用括号确定表达式的操作顺序。例如:

word = (high << 8) | low

if ((a | b) && (a & c))   

4.2 复合表达式

a = b = c = 0这样的表达式称为复合表达式。允许复合表达式存在的理由是:(1)书写简洁;(2)可以提高编译效率。但要防止滥用复合表达式。
规则4-2-1】不要编写太复杂的复合表达式。
例如:

i = a >= b && c < d && c + f <= g + h ;   // 复合表达式过于复杂

规则4-2-2】不要有多用途的复合表达式。
例如:d = (a = b + c) + r ;
该表达式既求a值又求d值。应该拆分为两个独立的语句:
a = b + c;
d = a + r;

【规则4-2-3】不要把程序中的复合表达式与“真正的数学表达式”混淆。
例如:

if (a < b < c)            // a < b < c是数学表达式而不是程序表达式

并不表示

if ((a

而是成了令人费解的

if ( (a

4.3 if 语句

if语句是C++/C语言中最简单、最常用的语句

你可能感兴趣的:(代码规范,c++,代码规范,编程语言,程序设计)