トップページtech
22コメント5KB

「whileはバグの元になる。for,foreach文を使え」

■ このスレッドは過去ログ倉庫に格納されています
0001アイちゃん2012/12/29(土) 16:42:09.64
http://www.gamebusiness.jp/article.php?id=6721
【スクリプトの負荷増大によるサーバダウン】
解決策:永久ループを極力回避するスクリプトを組む

while文などはミスを起こしやすいので、使用は避けた方がいいとのことです。
phpならばfor,foreach文を使用するようにします。もしwhile文を使用する場合は、
カウント変数などを使った強制離脱処理を入れるようにすればいいとのことでした。
0002デフォルトの名無しさん2012/12/29(土) 17:01:33.52
2げっと。
0003デフォルトの名無しさん2012/12/29(土) 17:04:21.68
まん中でwhile条件使いたいことならたまにある
do { 文; while (式); 文; }
0004デフォルトの名無しさん2012/12/29(土) 17:12:34.01
それはレスポンスが重要なプログラムだけの話じゃ
0005デフォルトの名無しさん2012/12/29(土) 17:38:24.12
Cでは伝統的に意固地になってwhile(0)使う人がいるよね。
break;で抜けるようにしてgoto タグとReturnは使わないという頑固者。
0006デフォルトの名無しさん2012/12/29(土) 17:55:19.84
RAII使っちゃダメ、複数のreturnは極力避けろってプロジェクトでは重要だよ
0007デフォルトの名無しさん2012/12/29(土) 17:56:29.15
RAII使えだろ
0008デフォルトの名無しさん2012/12/29(土) 19:34:49.61
俺のところでは初心者にはループ使うのを禁止されている
同じ数だけループの処理を書けばすむこと
バグを多くするループを使う必要はない
0009デフォルトの名無しさん2012/12/29(土) 19:58:05.19
>>7
禁止なんだよ
0010デフォルトの名無しさん2012/12/29(土) 20:27:18.52
例外安全って知ってるか?
0011デフォルトの名無しさん2012/12/29(土) 21:41:31.22
>>10
当然例外も使用禁止 RAII禁止の時点で想像つかないのか
0012デフォルトの名無しさん2012/12/29(土) 22:02:49.57
コンチニュー
0013デフォルトの名無しさん2012/12/29(土) 22:26:51.33
結論自体は間違いとは言わんが根拠がずれてるな。

whileとforとforeachはそれぞれ使い方が違う。
for・・・ある一定の数値の範囲を繰り返す
foreach・・・コレクションがある限り繰り返す
while・・・条件が成り立つ間繰り返す。

forとかwhileにかぎらず、複雑な機能ほどバグが入る
可能性が高くなる。機能の複雑さで比べると
foreach < for < while の順で複雑になる。

whileを使うなってことではなく、単純な機能で実装できるなら、
単純な機能を使いましょうってだけな話だよ。
whileを使うべきところではwhileを使うべきだよ。

無駄のないコードを書けば、必然とforやforeachの方を多く使うよね?
whileの使用を避けるって言い方をすると、頑張ってwhileを避けるみたいな感じがする。
頑張る必要なんて何もない。自然に書けばいいだけ。無駄のないコードを書け。この一言で十分なんだが。
こんなことを頑張らなきゃできない人たちばかりなの?

無駄のないコードを書くという行為は、武芸の達人が無駄のない動きをするように、
達人にならないと出来ないことなのかな?
0014デフォルトの名無しさん2012/12/29(土) 22:33:51.42
無駄な行の多い書き込み
0015デフォルトの名無しさん2012/12/29(土) 22:39:26.96
むしろ無限ループしてくれるなら
バグがわかりやすくて良いじゃねえか
0016デフォルトの名無しさん2012/12/29(土) 22:40:32.65
テストしないのかな
0017デフォルトの名無しさん2012/12/29(土) 22:47:27.28
つかコードを書くこと自体がバグの元になるから
whileもなにも、コードを1行も書いたらいかんよね
0018デフォルトの名無しさん2012/12/29(土) 22:49:42.78
一行もコード書かずに要求が満たせるなら
その通り
0019デフォルトの名無しさん2012/12/29(土) 23:05:09.00
よしオジサンが勘ピューターで計算してやろう
0020デフォルトの名無しさん2012/12/30(日) 02:05:22.68
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
0021デフォルトの名無しさん2012/12/30(日) 04:38:33.34
なんでゲハで立ったスレパクってきてんだよ
しかもなぜかバグゲーメーカーガストの名前省いてるし
0022停止しました。。。NGNG
真・スレッドストッパー。。。( ̄ー ̄)ニヤリッ
■ このスレッドは過去ログ倉庫に格納されています