レビューするとき、私は時々この種のループに遭遇します:
i = begin
while ( i != end ) {
// ... do stuff
if ( i == end-1 (the one-but-last element) ) {
... do other stuff
}
increment i
}
それから私は質問をします:あなたはこれを書きますか?
i = begin
mid = ( end - begin ) / 2 // (the middle element)
while ( i != end ) {
// ... do stuff
if ( i > mid ) {
... do other stuff
}
increment i
}
私の意見では、これはループを作成する意図に反します。要素ごとに共通の処理が行われるため、ループします。この構成を使用して、いくつかの要素に対して、何か別のことをします。したがって、これらの要素には別のループが必要であると結論付けます。
i = begin
mid = ( end - begin ) / 2 //(the middle element)
while ( i != mid ) {
// ... do stuff
increment i
}
while ( i != end ) {
// ... do stuff
// ... do other stuff
increment i
}
今、私はSOについて、-clauseをうまく書く方法についての質問さえ見ました...そして私は悲しくなりました:何かがここにありません。if
私が間違っている?もしそうなら、コーディング時にループ本体を特別なケースで乱雑にすることの何が良いのでしょうか?