我只希望下似乎沒有你喜歡的冗餘嘰裏咕嚕:)
無論如何,有是:風格問題
for (p = fmt; *p; p++) {
if (*p != '%') {
putchar(*p);
continue;
}
switch (*++p) {
/* Some cases here */
...
}
}
我不知道爲什麼作家(Kernighan/Ritchie)在if
聲明中使用了continue
。
我認爲這僅僅是因爲他認爲這將比在else
聲明下縮進整個switch
更優雅,您怎麼看?
這是有爭議的 - 這取決於這個習慣用法在你的代碼中是否常見。如果不是,它有一個不尋常的方法來控制一個循環,以及一個潛在的維護問題/缺陷源。 – 2009-05-25 20:22:07
是的,這是非常正確的。不習慣這種習語的人在面對維護時可能會感到困惑。這正是我習慣的,啓發式教給我的更好。我很容易迷失在嵌套的if-then-else塊中,然後注意到休息;或繼續; – 2009-05-25 23:03:17