ループ内の関数呼び出しの近くでスリープする方が明確ですか、それとも関数呼び出し自体でスリープする方が明確ですか?個人的には、「getApple()」については、アップルを返す前にある程度の時間スリープする必要があることを意味するものがないため、コールではなくコールの近くでスリープする傾向があります。私はそれが持っている方がより明確だと思います:
for(int i = 0; i <10; ++ i){ getApple(); 睡眠() }
よりも...
for(int i = 0; i <10; ++ i){ getApple(); } Apple getApple(){ sleep(1); 新しいApple();を返します。 }
もちろん、これは、メソッドがgetAppleSlowly()などの場合は異なります。
ご意見をお聞かせください。
いくつかの追加情報(以下のコメントにもあります。コメントを参照してください):
リンゴを手に入れるのに待つ必要はありません。待機は、APIへの1分あたりのクエリのレート制限を回避することですが、リンゴを1つしか取得していない場合は、スリープする必要はありません。スリープインゲットの方法では、不要な場合でも、スリープせずにリンゴを入手することは不可能です。ただし、それは、何があっても、メソッドがレート制限を超えることを心配せずにそれを呼び出すことができることを確認できるという利点があります。しかし、それはgetAppleSlowly()に名前を変更するための議論のようです。