ようにあなたには思えない、次を願っ
、それがあります:スタイルの質問は
for (p = fmt; *p; p++) {
if (*p != '%') {
putchar(*p);
continue;
}
switch (*++p) {
/* Some cases here */
...
}
}
そして私はなぜ疑問に思いました作家(Kernighan/Ritchie)はif
の文でcontinue
を使用しました。
私はそれがelse
の文の下にswitch
全体をくぼませるよりもエレガントだと思ったのは単なる理由だと思いましたが、どう思いますか?完全に有効になります
elseステートメント内のスイッチ全体を置く -
それは、このイディオムがあなたのコードで共通であるかどうかによって異なります。そうでなければ、ループを制御するやや珍しい方法であるという欠点と潜在的なメンテナンスの問題/バグの原因があります。 –
はい、それはかなり正しいです。このイディオムに慣れていない人々は、それを維持することに直面すると混乱するかもしれません。それは私が慣れてきたものであり、私に教えたヒューリスティックが優れています。ネストされたif-then-elseブロックで迷子になってしまい、休憩に気づくのは簡単です。または続行する。 –