21/08/14(土)02:52:28 クソコ... のスレッド詳細
削除依頼やバグ報告は メールフォーム にお願いします。個人情報、名誉毀損、侵害等については積極的に削除しますので、 メールフォーム より該当URLをご連絡いただけると助かります。
画像ファイル名:1628877148300.jpg 21/08/14(土)02:52:28 No.834766348
クソコード貼って寝る
1 21/08/14(土)02:58:25 No.834767373
実在するのかこんなクソが…
2 21/08/14(土)02:59:24 No.834767526
その上のresult使えや!
3 21/08/14(土)02:59:34 No.834767545
故意にやってるだろコイツ
4 21/08/14(土)03:00:28 No.834767666
流石にクソコードの例として書かれたやつだろう
5 21/08/14(土)03:02:19 No.834767950
恐ろしいことに世の中にはスレ画より酷いクソコードが存在する
6 21/08/14(土)03:04:41 No.834768297
>恐ろしいことに世の中にはスレ画より酷いクソコードが存在する Excelマクロを20年くらい運用したやつとかとんでもなく酷い飼ったりするから笑える 笑えねーよ!
7 21/08/14(土)03:06:20 No.834768571
マクロじゃないけどセル式で深さ7の条件分岐書いたことあるな 当時は7が上限だったけど今はどうなんだろ
8 21/08/14(土)03:07:55 No.834768791
まだまだ続くよ!じゃねぇよ!
9 21/08/14(土)03:10:03 No.834769081
改修のたびにちょっとずつ追加されてってこんな感じになることはある…あるのだ 溜まりに溜まった技術的負債のリファクタリングは大変だから例外処理を数行足して今回もお茶を濁すね…
10 21/08/14(土)03:10:05 No.834769083
まあ確かに何がしたいかは朧げに伝わるコードだし意味不明ではないから見かけてもリファクタリングしないやつだ
11 21/08/14(土)03:12:56 No.834769495
これproc6あたりで例外処理発生したらそれより上のネストのcatch文全部発動するやつ?
12 21/08/14(土)03:13:20 No.834769540
作り直す事で不具合産んじゃうといけないからそうそう許可が下りない だからこの部分最後に触ったのは俺だけど俺のスキルは疑わないで欲しい
13 21/08/14(土)03:14:50 No.834769754
>作り直す事で不具合産んじゃうといけないからそうそう許可が下りない 最初にクソみたいなif文を複数つくったやつが悪いな
14 21/08/14(土)03:15:43 No.834769866
日曜プログラマにはtryこんなにいらんじゃろとしかわからん if連打は評価してからじゃないと次の呼んじゃダメとかあるだろうし
15 21/08/14(土)03:17:02 No.834770065
ここをまるごと変えることの責任は持ちたくないなあ なので俺もif足すね…
16 21/08/14(土)03:18:32 No.834770316
構わねえぶっ壊してやる
17 21/08/14(土)03:20:18 No.834770603
early returnは良い文化だと思うが returnを複数書くと怒られる会社は存在するそうだな
18 21/08/14(土)03:21:41 No.834770781
ネストしてないけどif文の各{} の中が1000行くらいになってるの見たことある
19 21/08/14(土)03:23:03 No.834770945
tryは一個でいいだろ
20 21/08/14(土)03:23:14 No.834770968
関数にしようぜそれは…
21 21/08/14(土)03:23:19 No.834770986
hogeじゃたりねえ
22 21/08/14(土)03:23:43 No.834771032
>early returnは良い文化だと思うが >returnを複数書くと怒られる会社は存在するそうだな というかMISRA-Cのルールが… 奨励だから無視しようぜ!って何でならないんだうちの会社…
23 21/08/14(土)03:24:08 No.834771104
バリデーションして先に異常処理書いてreturnしてくれ
24 21/08/14(土)03:26:21 No.834771354
>日曜プログラマにはtryこんなにいらんじゃろとしかわからん >if連打は評価してからじゃないと次の呼んじゃダメとかあるだろうし 評価して駄目ならとっととreturnすりゃ後続処理動かんからこんなネスト深くならんのだ
25 21/08/14(土)03:28:37 No.834771639
それぞれの行はシンプルだから許すが…
26 21/08/14(土)03:29:46 No.834771782
>それぞれの行はシンプルだから許すが… これで独自関数呼び出してたらキレてるところだ…
27 21/08/14(土)03:31:34 No.834772002
>>それぞれの行はシンプルだから許すが… >これで独自関数呼び出してたらキレてるところだ… この正常処理が何をやって何行続くかによる気がする
28 21/08/14(土)03:31:42 No.834772025
そもそも関数名をproc1proc2proc3にするな 何の関数かわかるようにしろ
29 21/08/14(土)03:33:32 No.834772257
たまにやるけど許して
30 21/08/14(土)03:34:01 No.834772324
ていうか0とかマジックナンバーを判定式に直でぶちこむな あと定数は左辺に書け ころすぞ
31 21/08/14(土)03:36:30 No.834772619
>あと定数は左辺に書け これ俺もなんかで知ってからそうする癖付けてるけどなんでだっけ…
32 21/08/14(土)03:37:54 No.834772787
>あと定数は左辺に書け これは別にどっちでも良くない? なんか生産性を下げるような理由あるのか
33 21/08/14(土)03:37:54 No.834772789
マジックナンバー云々はともかく 定数を左辺に書くテクはさすがに古いからもうやらないな
34 21/08/14(土)03:39:15 No.834772947
>これ俺もなんかで知ってからそうする癖付けてるけどなんでだっけ… クソみたいな言語を使ってると==をうっかり=にして左辺に代入されてそれが評価されちまうんだ 一時期俺もやってたけどやっぱ見づらいわってやめた
35 21/08/14(土)03:40:47 No.834773138
定数を左辺に書いとけばうっかり if (0 = proc()) って書いちゃった場合に定数に代入してるよエラーになって書き間違いに気が付くのだが 今のコンパイラは定数を右に置いても警告してくれるから現代ではあんまり意味はない よっぽど出来の悪いコンパイラしか使えない環境ならまだ有効かもしれないが…
36 21/08/14(土)03:41:14 No.834773186
>>あと定数は左辺に書け >これ俺もなんかで知ってからそうする癖付けてるけどなんでだっけ… 代入と区別するためだったと思うがやるかどうかは別に…
37 21/08/14(土)03:41:45 No.834773257
>マジックナンバー云々はともかく >定数を左辺に書くテクはさすがに古いからもうやらないな アップデートできてないポンコツですみません 今度から言わないようにします
38 21/08/14(土)03:54:01 No.834774477
よそのコードでDATA_00、DATA_01…みたいな数値の定数がズラッと定義されて そこかしこで使われてたときは頭抱えた
39 21/08/14(土)03:56:30 No.834774723
>>これ俺もなんかで知ってからそうする癖付けてるけどなんでだっけ… >クソみたいな言語を使ってると==をうっかり=にして左辺に代入されてそれが評価されちまうんだ いまは賢いIDEがベタなミスはこれでもかってアラート出してくれるからね
40 21/08/14(土)03:57:52 No.834774844
>tryは一個でいいだろ それぞれのcatchで別の対応処理するかもしれない
41 21/08/14(土)03:58:06 No.834774871
>そもそも関数名をproc1proc2proc3にするな >何の関数かわかるようにしろ それは多分こんなコードがあったよ的な体験談だろうから抽象化してるんじゃないの
42 21/08/14(土)03:58:38 No.834774901
>>tryは一個でいいだろ >それぞれのcatchで別の対応処理するかもしれない エラーコードで判断させるようにしてくれ!
43 21/08/14(土)04:00:21 No.834775085
>エラーコードで判断させるようにしてくれ! ごもっともな話だ だが俺には積み上がったピラミッドを崩すことはできない…
44 21/08/14(土)04:01:55 No.834775236
まだまだ続くよ!でダメだった
45 21/08/14(土)04:03:07 No.834775360
>それは多分こんなコードがあったよ的な体験談だろうから抽象化してるんじゃないの サンプルコードでfooとかbarとかhogeを使うようなもんだ おい本番コードで使うな莫迦
46 21/08/14(土)04:17:09 No.834776565
スレ画みたいなクソコードだとこれが好き https://github.com/opencv/opencv/blob/master/modules/features2d/src/agast_score.cpp#L3383
47 21/08/14(土)04:21:50 No.834776933
>スレ画みたいなクソコードだとこれが好き >https://github.com/opencv/opencv/blob/master/modules/features2d/src/agast_score.cpp#L3383 >実在するのかこんなクソが…
48 21/08/14(土)04:22:38 No.834776996
>スレ画みたいなクソコードだとこれが好き >https://github.com/salesagility/SuiteCRM/blob/master/modules/AOS_PDF_Templates/PDF_Lib/mpdf.php
49 21/08/14(土)04:23:00 No.834777024
>定数を左辺に書くテクはさすがに古いからもうやらないな 社内規約で決まってるから今でも新人研修で強制しててすまない…
50 21/08/14(土)04:24:53 No.834777167
>https://github.com/opencv/opencv/blob/master/modules/features2d/src/agast_score.cpp#L3383 もはや美しさすら感じる
51 21/08/14(土)04:25:50 No.834777234
>https://github.com/opencv/opencv/blob/master/modules/features2d/src/agast_score.cpp#L3383 こんなことが許されて良いのか!?
52 21/08/14(土)04:26:54 No.834777328
変なプログラムでも発掘してきたのかと思ったらopencvか…
53 21/08/14(土)04:26:58 No.834777338
>スレ画みたいなクソコードだとこれが好き >https://github.com/opencv/opencv/blob/master/modules/features2d/src/agast_score.cpp#L3383 素早くスクロールするとコードが波打つアニメーションみたいで綺麗だね
54 21/08/14(土)04:27:16 No.834777363
>スレ画みたいなクソコードだとこれが好き これは自動コード生成とか使ったからこうなってるんだよね…?
55 21/08/14(土)04:28:31 No.834777477
>これは自動コード生成とか使ったからこうなってるんだよね…? たぶんアセンブラチックに極限まで高速化極めるとこうなるんじゃないかな コード読む気もしないけど…
56 21/08/14(土)04:28:54 No.834777516
>https://github.com/opencv/opencv/blob/master/modules/features2d/src/agast_score.cpp#L3383 耐えきったと思ったら怒涛のマジックナンバーで駄目だった
57 21/08/14(土)04:29:03 No.834777522
画像処理だとこういう力技が必要になったりするのかな…
58 21/08/14(土)04:32:06 No.834777771
定数左はJavaだと HageConstant.HAGE.equals(value) はvalueがnullでもぬるぽにならないけど value.equals(HageConstant.HAGE) だとvalueがnullならぬるぽになって死ぬから以外は気分の問題と思ってた
59 21/08/14(土)04:32:36 No.834777818
行列データとかを普通に処理しようとしたら まあ入れ子しまくりループになっちゃうのはしゃーなしなのかもしれない
60 21/08/14(土)04:32:48 No.834777834
goto連打してるからスレ画より邪悪
61 21/08/14(土)04:33:49 No.834777917
>is_a_corner: > bmin=b_test; > goto end; > >is_not_a_corner: > bmax=b_test; > goto end; 最終的にはこんだけに収束する
62 21/08/14(土)04:35:07 No.834778032
opencvくんはそういうとこある
63 21/08/14(土)04:37:11 No.834778200
行列扱い始めるとやばい事になるのはわかる
64 21/08/14(土)04:39:50 No.834778399
if(offset[] < c_b || offset[] < c_b)みたいに 連続した部分はorで纏めた方がいい気もする…
65 21/08/14(土)04:42:29 No.834778607
マクロなり何かしらマシなやり方あるだろ!?て思うけどopencvだし何か深い理由があるのかな…クソコードにしか見えないけど…
66 21/08/14(土)04:43:44 No.834778710
opencvのそれって文字通り機械的に生成されたやつじゃなかったっけ 実際に人間が触ることがない部分というか
67 21/08/14(土)04:45:32 No.834778841
コンパイラの最適化あるしこう書かないと遅くて仕方ないってのはまず無さそうだけど
68 21/08/14(土)04:47:01 No.834778949
まだまだ続くよじゃねえよ
69 21/08/14(土)04:48:34 No.834779070
みこみこナース! みこみこナース! みこみこナース! みこみこナース!
70 21/08/14(土)04:48:58 No.834779109
でもツクールだとこうなるし…
71 21/08/14(土)04:50:36 No.834779230
>最後にもういっちょじゃねえよ
72 21/08/14(土)04:52:27 No.834779378
agastがどんなアルゴリズムか全くわからなかった
73 21/08/14(土)04:55:48 No.834779602
関数化されてるだけいいよね!
74 21/08/14(土)04:57:59 No.834779764
>コンパイラの最適化あるしこう書かないと遅くて仕方ないってのはまず無さそうだけど ライブラリみたいなどんな環境でも使えるぜみたいなコードだとこうなるのかもしれない…
75 21/08/14(土)04:59:20 No.834779881
>でもツクールだとこうなるし… コモンイベントとかならまだしもプラグインでこんな記述してたら使いたくねえ!
76 21/08/14(土)04:59:30 No.834779889
これはループ処理にまとめられるから悪いコード
77 21/08/14(土)05:03:05 No.834780145
adaptive and generic accelerated segment testの略か
78 21/08/14(土)05:05:24 No.834780324
最適化するな まだ最適化するな まだするな
79 21/08/14(土)05:08:48 No.834780591
OpenCVは最適化極まっててクソコードになってる部分と 最適化甘いけどクソコード化してるから最適化できない部分とが混じってるよね意外と
80 21/08/14(土)05:09:29 No.834780639
ゴミなのはいいんだけど5と6でtry無いのが怪し過ぎてダメ
81 21/08/14(土)05:48:11 No.834783298
一人で作った奴じゃこうはならない 複数人で年数をかけると継ぎ足しでこうなってくことはある