1read 100read
2012年1月1期プログラマー61: よくあるバグを書け! (802) TOP カテ一覧 スレ一覧 2ch元 削除依頼
・ 次のスレ
63: 35歳以上のプログラマー その14 (497)
64: スーパーSEイムジンリバーが降臨するスレ (360)
65: プログラマ友達を募集するスレ (92)
66: ★山崎邦正が旧情報処理1種持ってる事実 (443)

よくあるバグを書け!


1 :05/03/05 〜 最終レス :12/01/02
ラインアートのスクリーンセーバーを作ろうとしたら
ラインが画面の外にはまる

2 :
if a == bがやりたかったのにa = bとか

3 :
ぬるぽ

4 :
バッファオーバランとかメモリ解放し忘れとか。

5 :
今時、バッファオーバランやメモリ解放し忘れ・・・。
そんな古代言語使うの止めれ。

6 :
ローカル変数のポインタを返してしまう
とか

7 :
ぬるぽだな。これはもう信者とか関係なしに

8 :
SQLのコンマを余計なところに入れる。
コンマとピリオドを取り違える。

9 :
括弧の数がずれる。LISPとか死亡。

10 :
再現性なし

11 :
>>10
お前は俺だな?

12 :

とりあえずよくありそうなバグは


EclipseのFindBugsプラグインで検出汁!!!!!!!!!!!!!!!!!!!


13 :
バグ・パターンは?

14 :
256超えたら0に戻る
越える方法発見しないでくれorz

15 :
んなことさぁ
public 何かの戻り型 何かのメソッド名(何かの型 何かの引数){
 if(何かの引数 > 255 || 何かの引数 < 0){
  throw new 何かのException("余計な引数いれるんじゃねえぞヴォケ!!")l
 }
}
ってやっときゃええじゃん。

16 :
>>5
VB厨ですか?それともJava厨ですか?w

17 :
VBでもバッファーオーバランに巻き込まれるこたぁある。
しかもそれに対応できる新言語はJavaだけではないぞ。
C#, Dでも大概対応できる

18 :

なんでもないときに、いきなり、何の前触れもなく、オが大きくなる。

19 :
>>18
その逆も辛い、、、orz

20 :
>>8
チェックツール使えよ。
IDEとかなら簡単にできると思うが


21 :
>>19
チェックツール使えよ。
EDとかなら簡単には治らないと思うが。

22 :
>>21
EDではないが抗鬱剤のせいで性欲がスッゲー減退してる。
麺減る板言ってきまつ。

23 :
抗鬱剤へらせば元に戻るんだが
それどころではなくなるんだよな
お互いがんばろう(何をだ・・?)

24 :
おっきくなったらトイレで抜いてこい。

25 :
ユーザーが変更ボタン押したら、よそでレコード削除した後だった。

26 :
int a = 0;
int i = 0;
for(i=0;i<10;i++);
a += i;

27 :
a = 0
b = 0
c = 0
While a <= 10
c = b
Wend
というようなのを動かして
「なんかこのPC調子悪い、すぐ固まる。」と文句言ったことがある。
調子悪いのは自分だった…orz

28 :
>26
漏れはカッコをつける癖がついてるな。必ずつける。

29 :
>>28
それはそれで見づらくな…
で、結局>>26みたいなことをやるわけだが。

30 :
>>3
>>7
ぬるぽぬるぽ って、みんな言うけどさ、
実際のところ、そんなに簡単にNullPointerExceptionになるか?

31 :
まあね

32 :
>>29
素人。

33 :
>>21
ED? Ease of Development の略か?

34 :
>>25
> ユーザーが変更ボタン押したら、よそでレコード削除した後だった。
トランザクションちゃんと管理しろよ。
つーかちゃんと排他制御汁!
データベースのことよくわかってないだろ馬鹿

35 :
>>29
中括弧は見やすいぞ。
インデントしておけばな。
自動コードフォーマッタを使えばらくちんだ

36 :
>>27
変数名をもっとわかりやすくすれば
そんなことで悩んだりしないんだがな。
a, b,c とかありきたりな変数名なんかつけてるから
混乱するんだよ。
ありきたりなのはインクリメント変数だけにしておきなよ。
ほかのは意味のある名前にしておけよ。
とにかく変数名やクラス名、メソッド名に悩んだら
辞書を即座にひけ。
電子辞書や辞書サイトと使え。
専門語辞書参照サービスがつかえるぞ.
http://wwwd.nova.co.jp/webdic/webdic.html

37 :
超   激   安    P   C   買い替えの時
http://ex7.2ch.net/test/read.cgi/news4vip/1110123020/
安いパーツに変更していくと何故か合計が0円以下になるという
不思議な買い物システム
これってバグかね?

38 :
>>27
演算の意味が無いのはわかるが、どこがバグなのかかわからん
無限ループでCPU食って固まったってことか?

39 :
>>36
ありがと。
>>38
YES
えーっと、この日は38度ほどの熱があ(ry

40 :
新人の女子社員が、コピーコンストラクタしらなかった、2年連続

41 :
>>40
新人ならしょうがなくない?
つか、その女子社員がバグ?

42 :
最近やったやつ。
1)
struct Hoge {
  Hoge(const struct Moge& src) { *this = src; }
}
→無限ループ
2)
GUI スレッドで別のスレッド起動して WaitForSingleObject()
起動したスレッドで SendMessage()
→デッドロック

43 :
メモリ1G確保しようとして死ぬアプリ

44 :
cursor-fetch 使おうとして open してない SQL 文

45 :
>>42 すまん、1)がワカンネ

46 :
>>45 実際にデバッガで追ったわけではないので推測
たぶん=やキャストのoperatorが存在しない。
*this = srcを実行するために、コンパイラは
srcをHogeにキャスト(変換)してからコピーする方法を選んだ。
実はキャストはHoge(const Moge&)で実現されるのだった。
1個の引数つきコンストラクタってキャストに使われるので。

47 :
スマヌ。
「無限」じゃないな。
スタック食いつぶして死ぬ。
>>46
そうでつ。

48 :
>>46 トンクス理解したです
漏れはあまりやらないケースだなぁ

49 :
バグではないかもしれないが、VC++でリソースID修正。
ビルドのみで実行時にエラー
しばらく???

50 :
>リソースID
重複マズー

51 :
>>49
ヘッダ直接いじった?

52 :
>51
そりゃ当然w

53 :
WM_INITDIALOGでCB_SETEDITSELを使って文字列のセレクト状態をクリアしたかったが
ちゃんと動作しないのでしばらく悩んだ。
ようはコンボボックスのZオーダーが1番でダイアログボックスプロシージャーが
TRUEを返すとWindowsは勝手にキーボードフォーカスをコンボボックスにセットする。
コンボボックスはキーボードフォーカスがセットされた瞬間、全文字列セレクト状態になる。

54 :
>>52
Resource.h の先頭行にある
//{{NO_DEPENDENCIES}}
の所為だな。
あれ、何かの役に立たないかと前から思ってるんだが
使い道ないもんだな。

55 :
よくあるバグ?上司が馬鹿なこと

56 :
>>55
それはバグじゃなくて仕様です。

57 :
>>55
つ[ピーターの法則]

58 :
ウイザートがバグつきコードを製成するMicrosoftAccess
さすがMS製品

59 :
サイトの講座のサンプルを作ろうと初めてGOTO文を使った時のバグ
skit:
printf("Ican fly!!");
icanfly:
printf("testtset");
goto skit
これで無限ループに陥った

60 :
void main()
{
 while(true)
 {
START:
  if(str())
  
 }
}
int str(char *)
{
FUNC:
 return 0;
 return -1;
 goto START;
}
int Func(char *)
{
}

61 :
あ、登校しちゃったYO
簡単に制御できるからgoto使いまくったら、わけ解らんくなって逃げたw

62 :
このまえやっちまった
for (int i=0; i<なんかの長さだったと思う; i++){
for(int j=0; i <なんかの長さ2号;j++){
配列要素[i][j] = String.valuef(j);
}
}
iとjの書き間違いに気づかず20分近く悩んだ・・・。
土日は働くもんじゃない。(飲まず食わずで10時間作業してた・・・)

63 :
よくやる。それ。

64 :
どうでもいいけど、このスレものすごい低レベルだな

65 :
さあ、厨が湧き始めましたよ

66 :
>>64
まぁ低レベルなケアレスミスを探して
「こんなのやっちまったよ〜≧(´▽`)≦アハハハ」
と笑うスレなんだろうからそれでいいと思う。
とあるデモでNullPointerExceptionを表示したくて頑張った
ポインタの先がNULLであればいいんだなと思って配列の外指定して
OutOfBoundsException吐かれた |||orz
そういやこういうやつあったな…普段これら程度のバグ出さないから忘れてた…

67 :
>>66
>まぁ低レベルなケアレスミスを
程度ってもんがあると思う。GOTO使ってる時点で、あぼ〜ん。

68 :
gotoは使い途によるよー

69 :
>67
で、でた。。。('A`)

70 :
使い途によると言ってる時点で低レベル。
趣味の範囲でお楽しみ下さい。

71 :
>>70
使ってはいけないといってる時点で、勉強やり直しだな。
馬鹿と一緒に仕事はしたくないもんだ。

72 :
行番号つきのgotoで、renumしてもgotoの飛び先行番号が
元のまんまの実装もあるんだよ。こんな怖いgoto文は使えない。

73 :
>>71
何の勉強をやるんだ?
構造化が全て良いとは思わんが、完璧に崩してしまうGOTOのどこがいい???
オマエの方がバカだろう。つうか、周りはBASICオタクばっかりかぁ。
GOTOを使わなくとも制御はできるだろう。

74 :
組込みだが、
if( p = malloc(0x100) )
{
foo(p,0x100);
free(p);
}
なんどやってもfoo に来ない。
なぜだーと調べたら、
ヒープがアドレス0から配置されてた。

75 :
if( p = malloc(0x100) )←

76 :
goto も満足に使えない素人が絶滅してくれると
すこしは業界もまともになると思いますよあたしゃ。

77 :
>>73
gotoを規約で禁止するのは見境なくトンでもないところで使い始めるやつがいるからで、
使ったほうが判りやすい場面では使っても構わんだろ。
寧ろ、ループしないforやwhileなんか使う方がみっともない。
おまいは、「関数1つに付きreturnも1つ」を律儀に守るタイプ?
これも確か構造化の間違った解釈の1つだったよね。
>>60
Cって関数またいでgotoできなくね?

78 :
>>73
>完璧に崩してしまうGOTOの
崩さない goto の使い方を勉強しなさい莫迦。

79 :
> 「関数1つに付きreturnも1つ」を律儀に守るタイプ?
それはないな。
>>78
ないよ。GOTOは悪。
ループしないforやwhileなんか使う方:はぁ???
GOTO使わなくても↑こんなやり方しなくても、きれいなロジックは
作れます。低レベルと言うより、討論もできそうにないおこちゃまを
相手していたようだ。ごめんよ。消えるわ。

80 :
すれ違いだからいい加減にやめてくれ。
おまえ自身がこのスレのバグだよ。

81 :
>79
もういいよ。おまいはそれで。
社会に出て超えられない壁に遭遇するまでな。

82 :
>>79
おまえはガッコの掲示板で続きをやれ。

83 :
誤解を招くし、既に誤解してるバカもいるようだから最後に追加な。
VBのOn Error GoTo は否定しません。C++のtry〜catchみたいな
もんだ。それに、C#のフォールスルー利用のGoToは肯定します。
滅多に使わないけど。
で、<<81 な。
余計にバカにするレスがつきそうだが、オレは既に社会に出てい
る。越えられない壁に遭遇したことはほとんどなく、小から大まで
(人数とか企業レベルとか)経験し?十年って感じだな。
まぁ、自称プラグラマーが多くいることもわかってるし、それは自
分ではないと思い込んでいる輩が多いのも知っているから気に
するな。じゃあ、バイバイ。
ゴメンよ。>>80

84 :
>79
終わっとるな、こいつ。
>オレは既に社会に出ている。越えられない壁に遭遇したことはほとんどなく、
>小から大まで(人数とか企業レベルとか)経験し?十年って感じだな。
そんなヤツが>79の意見とは到底思えん。
よほど狭い世界でしか仕事して無いんだろうなw
どっちにしろスレ違いだ。終了〜

85 :
今後このスレは「よくいるバカを書け」になりました。

86 :
むしろ「よくいるバカが書け!」

87 :
不便を当たり前の不便として受け入れ続ける香具師。
単純置換できないキーワードを、一つ一つペチペチと修正してたので、
「そのような作業は、正規表現を覚えることで効率的に解決できる」とアドバイスすると、
「もう少しで終わりますので、そんな面倒くさそうなものは要りません」と言い、効率化の術について、まるで無関心。
見込みのない奴だなと思った。

88 :
>>87
それ、スレ違いじゃないのか?
それとも>>85から趣旨が変わったのかなw

89 :
これ使えない新人スレとかの話だな。
いや、相手は新人ですらないのだが。スマソ。

90 :
>>87
まあそれも場合によりけりだろ。
その修正が一回きりで新しいことを覚えるより力業でやった方が
トータルで早くすむんなら、それはそれでいいと思うが。
さすがに何度もそんなことされちゃ、かなわんけど。

91 :
gotoが悪だなんて釣り以外の何物でもありませんね

92 :
gotoもまともに使えない奴がいるのか。
ここのレベルも下がったものだ。

93 :
gotoか・・・使ったことは一度もないな・・・2回ぐらい
コンパイルに通したことはあるがすぐ修正した。gotoみかけたら
速攻で削除してロジック書き直し。爆弾が何かのきっかけで誘発したら困るからね

94 :
gotoを使わないがための、肥大化しているロジックを見ると正直アホかと思ってしまう。

95 :
>>93 に同意。
gotoを使わないために、ロジックの肥大化とかループしないforやwhileなどと
言うが、そうなってしまうロジックしか考えられないってことではないか???
goto派は、利点をあげて説明してと言いたいぐらいだがスレタイと違う話にな
るのでやめます。というか、既にここまで書き込んでしまったことごめんなさい。
誰かgoto討論のスレ立てませんか?

96 :

goto文を恐れなく使う兵達のスレ
http://pc8.2ch.net/test/read.cgi/tech/1021364372/l50

97 :
エラー処理において必要なルーチンを通ったら
gotoで関数のケツへさっさとジャンプ
ってのはgotoの代表的かつ有用な使い方かと。
もしかしてgoto否定派ってインラインアセンブラとか
使わない人たちなのかな。

98 :
きれいなロジックが書けなくなるとか言って使わなさそうだ

99 :
使えるけど使わない

使えない
ではぜんぜん違うぞ。

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
・ 次のスレ
63: 35歳以上のプログラマー その14 (497)
64: スーパーSEイムジンリバーが降臨するスレ (360)
65: プログラマ友達を募集するスレ (92)
66: ★山崎邦正が旧情報処理1種持ってる事実 (443)