5.6.1 关于大括号对齐的争论

2013-10-07 15:35:47 · 作者: · 浏览: 61

5.6.1  关于大括号对齐的争论

或许被议论最多的就是在那里使用区分代码块的大括号。大括号的使用有多种格式,在本书中,除了函数、类以及方法名称之外,我们将大括号与起始语句放在同一行。下面的代码显示了这种格式(整本书都是如此):

  1. void someFunction()  
  2. {  
  3. if (condition()) {  
  4. cout << "condition was true" << endl;  
  5. } else {  
  6. cout << "condition was false" << endl;  
  7. }  
  8. }  

这种格式节省了垂直空间,同时仍然通过缩进显示代码块。有些程序员认为节省垂直空间与实际的编码无关。下面显示了一段冗长的代码:
  1. void someFunction()  
  2. {  
  3. if (condition())  
  4. {  
  5. cout << "condition was true" << endl;  
  6. }  
  7. else  
  8. {  
  9. cout << "condition was false" << endl;  
  10. }  
  11. }  

有些程序员使用水平空间时更为大方,编写的代码类似于下面的示例:
  1. void someFunction()  
  2. {  
  3. if (condition())  
  4. {  
  5. cout << "condition was true" << endl;  
  6. }  
  7. else  
  8. {  
  9. cout << "condition was false" << endl;  
  10. }  
  11. }  

当然,我们不会推荐任何特定的格式,因为我们不想收到恐吓信。

当选择说明代码块的风格时,所选的风格应该能够让读者一眼就看出某个代码块对应的条件。