トップページ > プログラム > 2014年07月15日 > 7LAbxKxV

書き込み順位&時間帯一覧

28 位/206 ID中時間01234567891011121314151617181920212223Total
書き込み数0000002000000000000000002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
VBScriptについて必死に話し合うスレ

書き込みレス一覧

VBScriptについて必死に話し合うスレ
462 :デフォルトの名無しさん[sage]:2014/07/15(火) 06:32:57.22 ID:7LAbxKxV
>>455
■重大なバグ
×If Arr(J) > A(J + 1) Then
○If Arr(J) > Arr(J + 1) Then

×Swap A(J), A(J + 1)
○Swap Arr(J), Arr(J + 1)

■非効率的な処理
× For I = 0 To UBound(Arr)
    For J = 0 To UBound(Arr) - 1

○ u = UBound(Arr)
   For I = 0 To u
    For J = 0 To u - 1

※>>455のコードだと、配列要素数が10000なら、
  UBoundによる配列上限取得を10001回行うことになり、非効率的
  1行程度コードが増えても処理量を減らすのが基本(特にループ内では)

■その他
Option Explicitを付けて、変数を宣言する

※それをしなくてもバグの無いコードが書けるなら使わないのは勝手だが
  現に「 Arr 」を「 A 」と書いてしまって、致命的なバグを生じさせているので
  そのレベルの人はOption Explicitを使うクセを付けること

上記の指摘に沿って開き直したものが「これ(>>455)に勝てるコード」だ
VBScriptについて必死に話し合うスレ
463 :デフォルトの名無しさん[sage]:2014/07/15(火) 06:36:53.41 ID:7LAbxKxV
そもそも、動きもしない>>455のコードに負けるコードなんて存在しない

最悪、バグがあって動かないコードでも、同じく動かない>>455とは「引き分け」、
動けば非効率的だったり冗長だったりしても、動きすらしない>>455には勝ってることになる

全力とか言いながら、バグで動きもしないコードを嬉々として挙げちゃう自分の愚かさを再認識した方がいい

凡ミスではあるが、仕事になったら凡ミス一つで信頼と金を失うことになるのが解ってるのか?
しかも、エンドユーザーの例外的な操作や例外的なデータを食わせた時に生じるバグではなく
1回でも試しに動かせば解るようなバグを残したままなんて、話にならない


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。