私が大学で CS をとっていたとき (80 年代半ば)、常に繰り返されていたアイデアの 1 つは、常にループを記述し、ループの下部 (do ... while) ではなく上部 (while...) でテストすることでした。ループ。これらの概念は、多くの場合、トップでテストされたループが、ボトムでテストされたループよりも統計的に正しい可能性が高いことを示した研究への言及によって裏付けられました。
その結果、私はほとんどの場合、一番上でテストするループを書きます。コードがさらに複雑になる場合は行いませんが、そのようなケースはまれです。一部のプログラマーは、ほとんどの場合、最後にテストするループのみを作成する傾向があることに気付きました。次のような構造を見ると:
if (condition)
{
do
{
...
} while (same condition);
}
またはその逆(if
内while
)、彼らが実際にそのように書いたのか、それともif
ループがnullケースを処理しないことに気付いたときにステートメントを追加したのか疑問に思います。
私はいくつかのグーグルをしましたが、この主題に関する文献を見つけることができませんでした. 皆さん (とギャル) はループをどのように書いていますか?