- 1 名前:デフォルトの名無しさん [2005/08/11(木) 11:18:15 ]
- 前スレ pc8.2ch.net/test/read.cgi/tech/1021364372/
- 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 ]
- 後出しの多いやつだな・・・
- 583 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 20:02:05 ]
- 単体テストと運用時のつなぐ相手のテストとの違いを
子供に理解させるのは無理だろう。
- 584 名前:デフォルトの名無しさん [2008/02/14(木) 20:27:38 ]
- ほうほう。
単体テストってのは1行1行テストすることを言うんですかそうですか。
- 585 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 20:28:28 ]
- な。
無理だろw
- 586 名前:デフォルトの名無しさん [2008/02/14(木) 20:30:44 ]
- あんな短いコードをあれ以上どう分割しろと
- 587 名前:デフォルトの名無しさん [2008/02/14(木) 20:37:15 ]
- 「単体テスト」でググレカス
- 588 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 20:40:00 ]
- >>580
結局は自分の環境でしかテストしてないと。 しかも普通に使っていただけで積極的に 様々な状況を設定したわけでもなし。 そういうのはテストとは言わないんだよ。
- 589 名前:デフォルトの名無しさん [2008/02/14(木) 20:52:16 ]
- 自分で設定しなくても実際にすべての場合で実行して結果を出してるんだからテストされてるだろ。
単体テストしろとかすべての環境でテストしろとかお前ら馬鹿かと。 たかだか数行のコードテストするために何十個もパソコン用意しろって?
- 590 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 20:53:36 ]
- >>584
ワロタ
- 591 名前:デフォルトの名無しさん [2008/02/14(木) 21:04:11 ]
- だから一度「単体テスト」でググってから物言えカス
- 592 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 21:19:19 ]
- 単体テストもせずに「テスト済み」かよ…こりゃダメだ。
- 593 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 21:21:29 ]
- 新たな爆弾発言が出ました。
>>589 > 実際にすべての場合で実行して結果を出してるんだから すべての場合だってさ・・・意味わかって言ってんのかね。んなわきゃないか。
- 594 名前:デフォルトの名無しさん [2008/02/14(木) 21:22:28 ]
- レオン最高
マチルダかわいい
- 595 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 21:23:49 ]
- >>586は>>587が自分に言ってる事もわかってないに100ガパス。
- 596 名前:デフォルトの名無しさん [2008/02/14(木) 21:37:26 ]
- IEを単体でテストできると思ってる馬鹿が多いな
- 597 名前:デフォルトの名無しさん [2008/02/14(木) 21:40:16 ]
- ちなみに
+offsetが抜けてデータ構造が変わっていたやつは単体テストで出てきそうなもんだが、 実際には総合テストしないと出てこなかったな。 pc11.2ch.net/test/read.cgi/prog/1192192069/
- 598 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 21:44:38 ]
- >>596
単体テスト用のサーバ立ち上げて、 サーバ側でわざと切断したりレスポンスを変えたり、 外部仕様のカバレッジや実行パスのカバレッジが得られるような パターンでレスポンスさせるもんじゃないの?
- 599 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 21:44:40 ]
- 単体テストにIEは関係ないだろ・・・
- 600 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 21:48:41 ]
- >>596
テストする対象はIEじゃなくて糞スクリプトなんですが。
- 601 名前:デフォルトの名無しさん [2008/02/14(木) 21:50:36 ]
- つまりIEと同じメソッドを持つダミーのオブジェクトでテストしろってことね。
- 602 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 21:51:05 ]
- >>598
そのテスト環境は既に結合テストの範疇だな。 サーバーつないだら単体テストにならないだろ? 結論:「テスト済み」なんて簡単に言うなってこった。
- 603 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 21:53:00 ]
- >>602
いや、結合テストは実稼働のサーバとの接続でやるものでしょ。 実サービスではなく糞スクリプトのテストのためのレスポンスをする サーバにつなげるのなら単体テストの範疇と思われ。 まあ、スタブを使うようなもんだ。
- 604 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 21:53:51 ]
- >>602
> 結論:「テスト済み」なんて簡単に言うなってこった。 同意。
- 605 名前:デフォルトの名無しさん [2008/02/14(木) 21:54:48 ]
- それにしてもマチルダかわいい。
昔、うちに監禁してた少女は死んじゃったから代わりが欲しいな・・・(冗談) それはそうと、ぼろいビルの屋上でスナイプの練習してるけど、 周りはもっと高層なビルがたくさん・・・ ライフルが丸見えです。 僕も屋上セックスしてたら隣のビルの専門学校から丸見えでばればれだった。
- 606 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 21:56:55 ]
- >>603
ああ、そういう意味なら納得。 つまりそのサーバーはテスト用に設定した動作をするってことね。
- 607 名前:デフォルトの名無しさん [2008/02/14(木) 22:23:14 ]
- 49日連続稼動しないとバグが発覚しない某アレの例もあるからねぇ・・・
- 608 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 22:32:18 ]
- >>400付近の遠いレスだけど、おまえらそもそもデストラクタロギングが
どんなのかしってるのか。 class TRACE { TRACE(char *funcnamne, ...) { cout << log... <<endl; } ~TRACE() { cout << log.. <<endl; } } とかよういしといて、関数に下のように書くだけだぞ。tryもfinallyも いらない。スコープぬけるときにデストラクタが呼ばれて、 かってにロギングしてくれるから。 void func { TRACE trace("func", ...); ...実体... }
- 609 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 22:36:14 ]
- >>608
クロージャがエスケープした時にはどうすんの? finallyならクロージャがエスケープしようが例外が発生しようが ちゃんとロギングできるわけだが。
- 610 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 22:39:45 ]
- >>608
それは言語依存でしょ。 フルGCな言語や処理系だとスコープ抜けた直後にデストラクタが叩かれる保証はない。
- 611 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 22:43:45 ]
- >>609
てか、そもそもC++にクロージャなんてものあったけか
- 612 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 22:45:06 ]
- >>611
ないけど、このスレはC++限定じゃないでしょ?
- 613 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 22:47:06 ]
- じゃぁtryもfinallyも前提に出来ないだろ、すべてコード上にログを
書くしかない。ならgotoまんせーだな、ファンクショントレースには。
|

|