- 1 名前:デフォルトの名無しさん [2005/08/11(木) 11:18:15 ]
- 前スレ pc8.2ch.net/test/read.cgi/tech/1021364372/
- 482 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 00:19:17 ]
- ひとまずコード*だけ*読んで、前提条件あんま読んでないけど
>for (int i = 0; i < 2) { 「2回」ループする意図が良くワカラン。下のコード読めばわかるかと思って、 読もうとしたが、途中で挫折。 > IE.navigate(str); > do { > sleep(0.1); > } while (IE.busy || IE.readystate != 4); IE.readystate==4だけじゃだめなのかな。IE.busyじゃないときだけ、readystate が有効になるのか。ならIE.readystateが-1ならbusyとかしたほうが、 "while(IE.readystate!=4)"だけですむしわかりやすい。 > errortitles[4] = Status(ID, ST_TITLE); errortitles配列の、5番目にいきなり代入してるのが、なんじゃらほい。0〜4番目は、 どうなったのだろう? > for (int e = 0; e < 4; e++) { > if (1 <= Pos(errortitles[e], errortitles[4])) { このへんと、下をちょっと見た段階でギブアップ
- 483 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 00:22:21 ]
- 余計なものを全部省いて構造だけ残すと、たぶんこう。
void f() { while (some_condition()) { something(); for (int e = 0; e <= 4; e++) { if (some_condition(e)) { switch (e) { case 4: goto BREAK; case 0: goto CONTINUE; default: return; } } } exit(-1); CONTINUE: } BREAK: something(); }
- 484 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 00:30:02 ]
- >>483
やっぱりだめだ・・・こういう感覚を説明して理解してもらえるかわからないが、 そのコードは「普通」じゃない。読むのがすごいシンドイ。
- 485 名前:483 mailto:sage [2008/02/13(水) 00:32:42 ]
- で、俺ならこう書く。
頭の中でしか動かしていないので合ってるかどうかは自信ないが。 void f() { int state = 0; while (state == 0 && some_condition()) { something(); state = check_state(); } if (state == 4) { something(); } } int check_state() { for (int e = 0; e <= 4; e++) { if (some_condition(e)) { return e; } } exit(-1); // not reached }
- 486 名前:デフォルトの名無しさん [2008/02/13(水) 00:35:50 ]
- まだ、java はインタプリタじゃ無い、って言ってるヤツがいるみたいだけど。
中には、インタプリタじゃ無い、ヴァーチャルマシンだ、とか もっとひどいのになると、エミュレータだ、とか、もうメチャクチャ言いたい放題・・・ ちょっと呆れたな。 これって、「モモヒキじゃ無い、スパッツだよ!」って言ってるオバサンと同じじゃん。
- 487 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 00:38:14 ]
- >>485
あぁなんとか理解できる。サンクスw
- 488 名前:483 mailto:sage [2008/02/13(水) 00:52:25 ]
- せっかくだから俺からも一つネタ投下。
>>485 のf()と下のコードはどっちが良いと思う? void f() { while (some_condition()) { something(); switch (check_state()) { case 0: break; case 4: goto END_WHILE; default: return; } } END_WHILE: something(); }
- 489 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 00:57:07 ]
- >>488
俺は>>488のほうがわかりやすいw
- 490 名前:デフォルトの名無しさん [2008/02/13(水) 01:40:46 ]
- >>488
case 4:でsomething呼び出して returnしてしまえばもっと見やすいと思うが。
- 491 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 01:44:51 ]
- (ノ∀`) アチャー
977 デフォルトの名無しさん[sage] 2008/02/13(水) 00:31:00 forループのネスト構造(2重)から一気に脱出したい時に、breakだと1重しか脱出できないので困ってます。 PHPではbreak 2;みたいに書くと2重のループから脱出できるみたいなんですが、C++で同じことができる方法はありますか? goto文はなるべく使いたくないので……。 980 デフォルトの名無しさん[sage] 2008/02/13(水) 00:50:26 >>978 ググった時に「大域脱出するとき例外処理で〜」とか書いてあるのを見たのですが、それでしょうか。 >>979 表を描くために座標をネスト構造で回しているのですが、 描画する要素がなくなったら外に出すっていうようにしたいんです。 大人しくflagにしたほうが良いですね……。ありがとうございました。
- 492 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 01:50:32 ]
- >>491
コピペもウザイが、意図もよくわからんぞw
- 493 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 02:05:31 ]
- (ノ∀`) アチャー
984 名前:デフォルトの名無しさん[sage] 投稿日:2008/02/13(水) 01:55:45 >>981 後で困りそうですがもっと単純に解決させました。 ループ部分だけクラス内で別のメンバ関数にして飛ばして、抜けたい所でreturnさせました……。
- 494 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 02:36:14 ]
- >>479
× for (int e = 0; e < 4; e++) { ○ for (int e = 0; e < 5; e++) { >>482 > 「2回」ループする意図 ADSLで瞬間的に切断される場合、数秒後に再度アクセスしたら接続される場合があるので。 >IE.readystate==4だけじゃだめなのかな。 やり方をググってまねしただけなんで。 >5番目にいきなり代入してるのが、なんじゃらほい。 終了フラグです。 まあいいやり方じゃないけどエラーを拾う判定がちゃんと働くかテストにもなるしと入れてみた。 代入してるのはウィンドウタイトル。 あと、ループはループだけ、判断は一箇所にすると、制御が単純でわかりやすいなと思ったんだけど、 forを抜けて「ここには来ないはず」と書いた場所でbreakすればいいだけだった。 もともとが長いスクリプトだったからdefaultをexitで抜けてなかったんで そんときのループ構造が頭にあって。 やっとすっきりしたと思ったんだけど見直せばもっとシンプルになるもんだね。
- 495 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 06:20:53 ]
- >>486
釣りいいかげんうざい。 あのね、じゃあ具体的にあんたが主張するBASICのようなコードを JavaVMのバイトコードで示してみやがれっての。できなきゃ去れ。 二度と来るな。
- 496 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 07:13:52 ]
- >>486
せめてJavaVM実装の書籍を1冊でいいから読破してから言え、マヌケ。
- 497 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 07:30:44 ]
- まあ多重break/continueは可読性を落とすね。gotoのほうがナンボかマシ。
多重break/continueもgotoも無いのがベストつーか常識だけどw
- 498 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 07:53:56 ]
- >>494
> やり方をググってまねしただけなんで。 やっぱりね… そういう姿勢だからbreakでもgotoでも汚ないコードになるんだよ。
- 499 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 07:55:56 ]
- JavaVMのハードウェア実装を知らないんだろうな、>486は。
- 500 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 08:11:16 ]
- JVMについて盛り上がっている人がいるようだが、
どのJVMのことだ?sunか?
- 501 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 08:12:39 ]
- >>500
特定の実装の話じゃないと思うが。つーか、吊りか?
- 502 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 08:30:34 ]
- ハードウェア実装?
- 503 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 08:43:59 ]
- 荒らしはスルーで > 兵共
- 504 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 08:53:16 ]
- picoJava のことじゃまいか<ハードウェア実装
- 505 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 08:58:45 ]
- Jazelleとか。
一部ソフトウエアで実行するけど。
- 506 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 09:05:28 ]
- いずれにせよBASICインタプリタとは大分違う罠
- 507 名前:デフォルトの名無しさん [2008/02/13(水) 09:16:38 ]
- >>498
勝手な思い込みで変更する馬鹿よりましだよ。 ぐぐったら出てくるけど、作業をしているか通信をしているかをチェックするんだって。 通信が完了してから作業をするだろうけど、作業が新しい通信を要求するかもしれないだろ。 どんな流れになるかはWebサイトの作り次第だし、テストするには通信帯域を制限したり・・・ コードの流用するならそれが確かに動くかテストするべきだが、 自分でテストできないなら基本的には信用することが必要だ。
- 508 名前:デフォルトの名無しさん [2008/02/13(水) 09:25:01 ]
- busyだけだとフレームのページで途中で抜けちゃうって話がどっかにあった。
まあレイアウトが自由にできる今はフレームなんか使ってないだろうけど。 ReadyStateだけの場合は↓。 つまり両方のチェックが必要。 hpcgi1.nifty.com/MADIA/VBBBS2/wwwlng.cgi?print+200510/05100089.txt IEオブジェクトで読み込み完了まで待たせるのに以下のコードで待たせてますが、 ちゃんと読み込み完了まで待ってくれません。 どのようにすれば確実に待たすことができますか? Do While IE.ReadyState <> READYSTATE_COMPLETE DoEvents Sleep 1 Loop これならうまくいきました。 Do While IE.Busy = True Or IE.ReadyState <> READYSTATE_COMPLETE DoEvents Sleep 1 Loop
- 509 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 10:21:31 ]
- >>507
> コードの流用するならそれが確かに動くかテストするべきだが、 > 自分でテストできないなら基本的には信用することが必要だ。 唖然・・・ おまえみたいのはgotoを絶対に使うべきじゃないし、 そもそもプログラミングをするべきじゃない。
- 510 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 10:24:35 ]
- 同意
- 511 名前:デフォルトの名無しさん [2008/02/13(水) 10:25:49 ]
- >>509
なに俺様は完璧とか言ってんの?
- 512 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 10:58:49 ]
- そもそもコードは、誰が書いたものでも信用できない。
- 513 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 11:10:41 ]
- 自分自身が書いたコードすら信用できないorz
- 514 名前:デフォルトの名無しさん [2008/02/13(水) 14:29:42 ]
- 「try 〜 catch」 を使おうが、「for/while 〜 break ラベル」 を使おうが、
汚いスパゲッティ・コードはいくらでも書ける。 たとえば、フラグ変数作って、break break break break 連発するヤツがいい例。 goto 使うやつに比べれば、「do 〜 while (false)」 や 「switch 〜 break」 を使うなど、 トリッキーなコード書いて得意満面になってるキチガイよりよっぽどマシだ。 要するに、「コードの美しさ・汚さ」と、「goto 使うな」 論は無関係。プログラミングの芸術的センスの問題だよ。 java、php、ruby そのた、言語によって大域脱出の仕方が違うのは どの方法が正しい・優れているという基準が無いからで、どの言語作者も頭を悩ませている問題なんだろう。 goto の何が問題なのかと言えば、インタプリタやコンパイラの内部処理の都合上、 パフォーマンスを低下させる要因になっているから。 特に while(・・・) {・・・} みたいに { } ブロックを多用する言語は、goto で ”あらぬ方向” へ脱出される事を極端に嫌う。 これは { } によって確保したスタックの管理がくずれるから。 ここらへんは実際に目には見えない部分なので、なかなか理解が難しいと思う。 自分でインタプリタやコンパイラを作ってみれば経験できる事なのだが、いまどき、そこまでするヤツはおっとまた 字数制限がうざいなもっと長文書ければいくらでも語れるんだが続きはまた暇なときにでも。うんこちんちん!
- 515 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 14:33:20 ]
- 長文とかどうでもいいからベンチの結果ひとつでも(張|貼)ってくれ
- 516 名前:デフォルトの名無しさん [2008/02/13(水) 14:39:27 ]
- 無茶言うなよ。java と basic と php とベンチで比べて何の意味がある?
- 517 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 14:43:13 ]
- >>514
> これは { } によって確保したスタックの管理がくずれるから。 今時、そんなソースコードにべたべたのインタプリタなんて珍しいわ。 コンパイラや、ソースコードを一回全部なめて、内部構造に するようなインタプリタなら、ローカル変数のアクセスのために、 処理系はスタックの現在のオフセットを常にわかっている必要がある。 だから、ジャンプ元とジャンプ先でスタックのオフセットがずれるなら、 そのぶんをジャンプの直前か直後に調整して終わり。難しい話じゃない。 Javaのバイトコードを示していただきたいなぁあなたにも。 (あ、Rubyのブロックはクロージャだから別物ね)
- 518 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 14:47:17 ]
- gotoでforループの中に飛び込もうとするコードを
はじめて見たときはびっくりしたわ
- 519 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 14:51:06 ]
- というかスタックの奴等こっちでやれ。goto関係ないし。
pc11.2ch.net/test/read.cgi/tech/1188688416/l50
- 520 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 15:05:50 ]
- >>514はN88BASICでブイブイ言わせているビルゲイツ
- 521 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 15:10:52 ]
- MS-DOS版N88日本語BASIC(86)コンパイラー
ナゲー
- 522 名前:デフォルトの名無しさん [2008/02/13(水) 17:02:48 ]
- このすれは「どうして1たす1は2なの?どうして?どうして?」って言いそうな連中ばかりだな。
- 523 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 17:07:13 ]
- コンピュータの気持ちになってみると 1 + 1 は 10 です
- 524 名前:デフォルトの名無しさん [2008/02/13(水) 17:15:51 ]
- >>523
ここでコンピューターの気持ちで会話してきてください。 できれば↓のスレの書き込みの翻訳してくれるとありがたい。 1101011 1100001 1101001 1110111 1100001 pc11.2ch.net/test/read.cgi/prog/1201423463/
- 525 名前:デフォルトの名無しさん [2008/02/13(水) 17:56:17 ]
- goto師はどこいった
- 526 名前:デフォルトの名無しさん [2008/02/13(水) 18:30:05 ]
- 回線の問題というか、pingでtimeoutでまくり
- 527 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 19:08:23 ]
- >>518
コーヒーふいたじゃねーかw どんなコードかちょっと気になるw
- 528 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 19:25:24 ]
- 直接gotoを使ってはいないが、
ループの中にswitch-caseで飛び込むコードって奴があるな。 Duff's device でググると出てくる。 (CGの人ならPorter-Duff operatorのDuff氏とか言うと、へーとか思うはず)
- 529 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 19:40:41 ]
- do { /* count > 0 と仮定 */
*to = *from++; /* to がインクリメントされていないことに注意 */ } while (--count > 0); これを、下のようにして最適化か。こう書いてコンパイル通る ことすら知らなかったわw しかし昔memcpy実装させられたとき、条件判定へらす努力したり ワード単位でコピーしたりしたんだが、標準で用意されて いたARMのlibcに速度が遠くおよばなくて愕然とした記憶があるなw switch (count % 8) /* count > 0 とする */ { case 0: do { *to = *from++; case 7: *to = *from++; case 6: *to = *from++; case 5: *to = *from++; case 4: *to = *from++; case 3: *to = *from++; case 2: *to = *from++; case 1: *to = *from++; } while ((count -= 8) > 0); }
- 530 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 20:15:51 ]
- どのみち、天才の考えることは凡人には理解できないのでメンテ不可ですわ。
- 531 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 20:21:51 ]
- >>514
いいからJavaVMの実装本を読めって。 自分がどんなに時代遅れな発言をしているか よーくわかるから。
- 532 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 20:34:59 ]
- >>514
> goto 使うやつに比べれば、「do 〜 while (false)」 や 「switch 〜 break」 を使うなど、 > トリッキーなコード書いて得意満面になってるキチガイよりよっぽどマシだ。 日本語に訳すと、 1+1を3と言うやつに比べれば、2+3を6と言う奴や3+1を2と言って得意満面に なっているキチガイよりよっぽどマシだ。 といったところか。そんな>>514に良い言葉を教えてあげよう。 目糞鼻糞、どっちも糞。
- 533 名前:デフォルトの名無しさん [2008/02/13(水) 20:50:16 ]
- 今老舗特集やってるけど、昔からの技術をそのまま受け継いで応用することで普通の工業機械では作れないものを作れてるってさ。
確かに技術は進歩してるし、クソなコードは多いが、よい結果を出しているものはよい方法かもしれない。 紙すきのでやってたけど、手作業を機械でやることで品質の安定したものを大量に低コストにやってるが、 技術の開発は道具こそ工夫するものの人間が手でやっている。 プログラミングで自動化機械といえば、ソースコードのコンパイルとかスクリプトでの作業。 機械設備はコーディングをサポートしてくれる開発環境とかライブラリ。 そういうのを駆使して効率よく新しいものを作るのがプログラマの仕事。 決まりきったやり方が正しいのか最適なのかたまには見直してみるのもいいが、 基本はそれをまねしてやることだ。 何もかも完璧に分かってないといけないとか言ってたら時代の波に飲まれておしまいだ。
- 534 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 20:59:14 ]
- >>533
先人のコードをまねることは大切だ。 だが、自分のプログラムに応用する時には そのコードをしっかり読んで動作を理解してから。 これができない奴はプログラムを書くべきではない。
- 535 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 21:00:03 ]
- つーか、>>494、かなり必死だなw
- 536 名前:デフォルトの名無しさん [2008/02/13(水) 21:04:10 ]
- >>534
習うより慣れろだ。 正しいか間違ってるかは、うまくいくかいかないかで判断しろ。
- 537 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 21:08:24 ]
- ひょっとして、>>469がうまくいってる例だと思ってる? まさかな。
まあ、少なくとも元のコードの動作を理解できるまでは、 それを使ったコードを人様に見せるのは止めたほうがいい。
- 538 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 21:09:18 ]
- >>536
> 習うより慣れろだ。 > 正しいか間違ってるかは、うまくいくかいかないかで判断しろ。 仕様に照らして、な。 「実は実装依存」なコードを量産されるよ?
- 539 名前:デフォルトの名無しさん [2008/02/13(水) 21:09:43 ]
- >>529
そりゃmemcpyがコンパイラに組み込まれてたんじゃね? そういう場合、libcのmemcpyは関数ポインタ取るためだけに用意されている。
- 540 名前:デフォルトの名無しさん [2008/02/13(水) 21:18:43 ]
- >>537
しっかり動いてますが何か。 テスト済みですが何か。
- 541 名前:デフォルトの名無しさん [2008/02/13(水) 21:29:23 ]
- 論破されて窮地に追い込まれると、
「関係ない話は別のスレでやれ」 とか 「〜の本を読め」 とか言って相手を囲いの外に追いやろうとする 典型的な厨房の集うスレはここですか?
- 542 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 21:46:36 ]
- >>539
コピーするサイズに応じて、最適なコードをそれ専用に生成するってこと?
- 543 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 21:56:02 ]
- >>540
動けばいいと公言する奴のコードに限って実は動かないんだよ。 どうせ自分で何回か使ってみただけなんでしょ? これだから、ゆとり世代は・・・
- 544 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 21:58:53 ]
- >>540
まさかとは思ったが、本気で>>469がうまくいってる例だと思ってるのか。 このスレのgotoを恐れずに使う兵共にとっても>>469は糞コードだぞ。
- 545 名前:デフォルトの名無しさん [2008/02/13(水) 22:00:21 ]
- >>543
「動く」と胸を張っていえるからリリースするもんだろ。 それが動かなくなるのがバグだろ。 バグに遭遇したことないやつが存在するんなら確かにそういえるかも知れんな。
- 546 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:05:31 ]
- gotoの弊害はむしろ保守性の低さだろ
自分だけが使う書き捨てのプログラムなら別に>>469の糞コードでも良し
- 547 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:07:59 ]
- >>545
それがさあ、「動けばいい」って奴はロクなテストやってないのが相場なの。 大抵、自分の手元の環境で数回から数十回動かしてエラーが出なきゃOKって程度のテスト。 特に最近のゆとり君は適当にググってきたコードをコピペするからひどい。 何故動くのか理解しないまま数回動かしただけで「動きました」とか言い出す。 もうアフォかと。
- 548 名前:デフォルトの名無しさん [2008/02/13(水) 22:30:31 ]
- >>547
テストしてないのを問題視するのはいいとして、テストもせずに駄目出しするのもどうかと思うが。
- 549 名前:デフォルトの名無しさん [2008/02/13(水) 22:32:06 ]
- >>547
テストしてないのを問題視するのはいいとして、テストもせずに駄目出しするのもどうかと思うが。
- 550 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:35:55 ]
- >>548 テストしていないものは駄目出しされて当然だろう
- 551 名前:デフォルトの名無しさん [2008/02/13(水) 22:38:01 ]
- >>550
テスト済みと書いてる字が読めないならプログラム組むな
- 552 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:42:02 ]
- >>551
へー、どんなテストしたの? ちゃんと異常系までテストした?
- 553 名前:デフォルトの名無しさん [2008/02/13(水) 22:44:15 ]
- >>552
どんな異常だよ
- 554 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:47:37 ]
- 例えば
>>494 > > 「2回」ループする意図 > ADSLで瞬間的に切断される場合、数秒後に再度アクセスしたら接続される場合があるので。 のあたり、実際に切断された場合の回復処理で正常にアクセスできたことを 切断時間などを変えながら複数の状況でテストしたのかい? 切断された後、一旦回復してすぐまた切断される状況は?
- 555 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:51:54 ]
- >>469って、「多重continue、ヤベッーw」なワナビー風味だね
- 556 名前:デフォルトの名無しさん [2008/02/13(水) 22:58:51 ]
- >>554
再表示で接続できることは経験的に知っているし、 規定回数全部で接続できなかった場合でもエラーで中断するし、 中断した場合も呼び出し元からやり直すだけだし。 回復して切断したらって話だが、 REPEAT; sleep(0.1); UNTIL !IE.busy AND IE.readystate = 4 これを実行した後には、接続できたかできなかったかのどちらかしかない。 もちろん不完全な取得を完了とした場合、その先で実行できないってだけだが、 実行できなかった場合も呼び出し元で再チャレンジするし。
- 557 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:00:25 ]
- >>556
つまりテストしてないわけね。よくわかった。
- 558 名前:デフォルトの名無しさん [2008/02/13(水) 23:07:59 ]
- >>557
自分で切断はしてないけど切断があったことはログでチェックしてるよ。
- 559 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:09:48 ]
- >>558 切断時間はちゃんとカバーされてるのか?
- 560 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:12:55 ]
- おまえら、テストしたかどうか以前に>>469は一見して糞。以上おわり。
- 561 名前:デフォルトの名無しさん [2008/02/13(水) 23:14:31 ]
- >>559
2回続けて失敗する現象はなかった。 昨日だったか2ch鯖にアクセスできなくなってたが、その場合そもそもここまで処理が回ってこないし。 >>560が手本を見せてくれるそうです。
- 562 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:18:13 ]
- >>556
結局わけわからん部分は「呼び出し元で再チャレンジするから」なわけね。 だったら2回ループ回さなきゃいいのに。中途半端なことするから可読性が落ちる。
- 563 名前:デフォルトの名無しさん [2008/02/13(水) 23:24:55 ]
- >>562
前の処理がせっかくうまくいってるのにそれを無駄にすることはないだろ。 接続エラーになったからって前の処理をやり直したら、そっちまで接続エラーになるかもしれないだろ。 これは普通にブラウザ使ってたら分かる話だ。 試行回数とインターバルは経験的に、感覚的にだ。
- 564 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:27:09 ]
- >>563
つまり自分が使っていた環境のことしか考えていないし、 テストも自分の普段の環境から出ていないってことね。 なるほどね。
- 565 名前:デフォルトの名無しさん [2008/02/13(水) 23:30:13 ]
- >>542
・インライン化の恩恵を受けられる。 ・人手で最適化されたコードを吐いてくれる可能性がある。 ・ポインタの型によって(intptr_t)pの値が最初から ワードの倍数になっていることを保証できる場合がある。
- 566 名前:デフォルトの名無しさん [2008/02/13(水) 23:44:24 ]
- >>564
待ち時間は秒数で指定してあるし。 IE使ってる時点で使用環境は固定されてるし。
- 567 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:45:36 ]
- しかしつまらんスレだな
- 568 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:46:10 ]
- もういいから
gotoの話じゃないならよそでやれ
- 569 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 00:10:38 ]
- direct threaded code
- 570 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 01:24:26 ]
- gotoを一行足りと書かなくても、
容易にクラッシュしてデバッグすらできない環境があって・・・。 助けてくれ orz.
- 571 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 01:25:27 ]
- >>570
それははたして環境のせいなのか?
- 572 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 02:50:12 ]
- 異常系のテストは、まずは、そういう状況をわざわざ作り出して確認するもんだ。
- 573 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 06:49:41 ]
- >>566
> IE使ってる時点で使用環境は固定されてるし。 回線まで固定されるわけじゃなかろう
- 574 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 07:27:53 ]
- >>568
このスレはgotoを語るスレではなくて finallyや多重breakを語るスレなのでは。
- 575 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 07:31:57 ]
- >>563
> 試行回数とインターバルは経験的に、感覚的にだ。 ひでえ根拠だなwww うちに配属になった新人がこんなコード書いたら 即刻今のコードを完デリさせて最初から書きなおしだ。
- 576 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 08:23:43 ]
- インマルサット・インテルサットに積む電話交換機屋からブラウザアプリ屋まで
入り乱れての乱戦になっておりますw
- 577 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 09:01:44 ]
- キャプテンも忘れないであげてください
- 578 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 16:13:06 ]
- 「テスト済み」なんて堂々と言うからだ。
テストっていうのがどんな物かわかってたら簡単に言えないもんだ。 そういう意味では「ポインタは理解してる」に似てるな。 と、釣りっぽくまとめてみる也。
- 579 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 18:26:21 ]
- ポインタのややこしいのは、ポインタじゃなくて宣言の方だからな。
- 580 名前:デフォルトの名無しさん [2008/02/14(木) 18:41:46 ]
- 一応鯖に負荷のかかる土日流しっぱなしにして想定した全部のパターンでうまくいくのは確認してるし
自動でかかる連続投稿規制とアクセス規制と、さらに管理者からのアクセス規制を受けるまでやって、 そーゆー規制食らった場合にも適切に処理できるのは確認済み。 んでえらそうに語ってくれる人がどういう方法でどこまでのテストを要求してるのか知らんが、 サーバーまで自分で作ってるわけじゃないって事を分かっているのかいないのか・・・。 自分でできる範囲ってのは回線を切断したり接続したりだ。 ちなみに、ほとんどの場合は回線の異常じゃなくて、2ch鯖がただシカトしてただけだった。 自分のプロバイダまでのpingは30msで失敗しないけど2ch鯖は120msくらいかかってそのうち1回くらい失敗しまくり。 あと、エラー判定が実は正常なのを異常と判断する場合があるのは最初から分かってる。 完璧に自動で判断することができないんだからしょーがない。
- 581 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 18:57:51 ]
- >>565
あぁ・・・そりゃ勝てなくて当たり前かw トンクスw
- 582 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 19:58:15 ]
- 後出しの多いやつだな・・・
|

|