【发布时间】:2011-08-02 15:02:33
【问题描述】:
可能重复:
Why don't people indent C++ access specifiers/case statements?
我有一个语法问题...不是关于如何,而是为什么。许多 IDE(例如 Eclipse 和 Qt Creator)会自动缩进 switch,如下所示:
Day randomDay = getRandomDay(); /* returns 'enum Day' */
switch (randomDay) {
default:
case Monday:
/* ... */
break;
case Tuesday:
/* ... */
break;
/* ... */
}
我一直发现这与通用代码缩进规则不一致,我更喜欢这样做:
Day randomDay = getRandomDay(); /* returns 'enum Day' */
switch (randomDay) {
default:
case Monday:
/* ... */
break;
case Tuesday:
/* ... */
break;
/* ... */
}
类似地,C++ 类定义通常是这样缩进的:
class MyClass {
public:
/* ... */
}
相对于:
class MyClass {
public:
/* ... */
}
为什么有些人选择不缩进case 语句?
【问题讨论】:
-
因为他们显然不同意你的观点。不能争论口味。
-
但是他们不缩进
case语句背后的逻辑是什么?有些人喜欢这样做是有原因的,否则没人会这样做。 -
问题是“为什么有些人选择不缩进?”如果是这样,那么答案是程序员的偏好之一。如果问题是“为什么有些 IDE 拒绝缩进?”那么答案通常是,因为缩进通常是一个可配置的选项,程序员并没有告诉 IDE 做任何不同的事情。
-
这是重复的。我希望在 SO 上有一个自动重复查找器……我知道以前有人问过这个问题。 ...你在这里找到它:stackoverflow.com/questions/4299729/…