为什么开关内的case语句没有被某些IDE缩进?

Pie*_*ter 5 c c++ syntax

可能重复:
为什么人们不缩进C++访问说明符/ case语句?

我有一个语法问题......不是关于如何,而是关于原因.许多IDE(如Eclipse和Qt Creator)会自动缩进,switch如下所示:

Day randomDay = getRandomDay(); /* returns 'enum Day' */

switch (randomDay) {
default:
case Monday:
  /* ... */
  break;
case Tuesday:
  /* ... */
  break;
/* ... */
}
Run Code Online (Sandbox Code Playgroud)

我总是发现这与一般的代码缩进规则不一致,我更喜欢这样做:

Day randomDay = getRandomDay(); /* returns 'enum Day' */

switch (randomDay) {
  default:
  case Monday:
    /* ... */
    break;
  case Tuesday:
    /* ... */
    break;
  /* ... */
}
Run Code Online (Sandbox Code Playgroud)

类似地,C++类定义通常是这样缩进的:

class MyClass {
public:
  /* ... */
}
Run Code Online (Sandbox Code Playgroud)

相反:

class MyClass {
  public:
    /* ... */
}
Run Code Online (Sandbox Code Playgroud)

为什么有些人选择不缩言case

Thi*_*ter 10

代码样式就像混蛋.每个人都有一个,但只有少数人像其他人一样.

这也适用于此.有些人喜欢它,因此在为IDE编写缩进逻辑时就这样做了.大多数好的IDE都可以选择配置此行为.

这种风格的一个可能原因是,不缩进标签似乎很常见 - 而且案例是一种特殊的标签.