- 1 名前:仕様書無しさん [2007/08/14(火) 23:48:45 ]
- この会社辞めようと思ったソースコード。
プログラマとして幻滅するソースコード。 プログラマを悩ませるソースコード。 をつらつらと綴っていって頂戴。 ちなみにここは質問スレじゃないので 技術的な質問がしたいならム板 pc11.2ch.net/tech/ に逝って。 前スレ この会社辞めようと思ったソースコード#17 pc11.2ch.net/test/read.cgi/prog/1183700531/
- 70 名前:仕様書無しさん mailto:sage [2007/08/19(日) 22:12:09 ]
- スペースコボラ
- 71 名前:仕様書無しさん mailto:sage [2007/08/19(日) 22:12:21 ]
- エボラに失礼
- 72 名前:仕様書無しさん mailto:sage [2007/08/19(日) 22:34:01 ]
- 刃こぼら
- 73 名前:仕様書無しさん mailto:sage [2007/08/19(日) 22:57:52 ]
- 「コボちゃん」 の名前の由来って・・・
- 74 名前:仕様書無しさん mailto:sage [2007/08/19(日) 23:00:34 ]
- コボルで動いてるからでしょ?
- 75 名前:仕様書無しさん mailto:sage [2007/08/19(日) 23:13:11 ]
- 田畑小穂だっけ?
- 76 名前:仕様書無しさん mailto:sage [2007/08/20(月) 00:34:09 ]
- COBOLが動くのか凄いな
- 77 名前:仕様書無しさん mailto:sage [2007/08/20(月) 01:08:39 ]
- 去年までUNIXでCOBOLつかってましたよ。
その時点でやめたくなりました。
- 78 名前:仕様書無しさん mailto:sage [2007/08/20(月) 01:51:38 ]
- あんな糞言語があんな高価な理由が解らん<COBOL
- 79 名前:仕様書無しさん mailto:sage [2007/08/20(月) 02:23:20 ]
- >61
マーチはマーチでもデスが付くマーチなんだろうな…
- 80 名前:仕様書無しさん mailto:sage [2007/08/20(月) 02:35:18 ]
- 糞言語というよりは「古代言語」と言うべきかな?
- 81 名前:仕様書無しさん mailto:sage [2007/08/20(月) 05:58:11 ]
- フォートランもそう呼ばれることはあるけど、コボルよりは読みやすいね
- 82 名前:仕様書無しさん mailto:sage [2007/08/20(月) 05:58:56 ]
- で、その古代言語で書かれた古文書の解読に今日も俺はいそしむわけだ…
- 83 名前:仕様書無しさん mailto:sage [2007/08/20(月) 12:07:02 ]
- 富士通日立はCOBOL好きだからなぁ
- 84 名前:仕様書無しさん mailto:sage [2007/08/21(火) 00:12:09 ]
- COBOLの新しい規格って現場じゃ使われてるのかな?
- 85 名前:仕様書無しさん mailto:sage [2007/08/21(火) 01:50:50 ]
- 知らんフフフフフフフフフフフフフフフフフフフフフフフフ
- 86 名前:仕様書無しさん mailto:sage [2007/08/21(火) 01:58:49 ]
- ああ、ここもついに犯され始めたかフフフフフフフフフフフフフフフフフフフフフフフ
- 87 名前:仕様書無しさん mailto:sage [2007/08/21(火) 02:00:22 ]
- コボラ捨てたいフフフフフフフフフフフフフフフフフフフフフフフ
- 88 名前:仕様書無しさん mailto:sage [2007/08/21(火) 09:01:16 ]
- 寿司食いたいフフフフフフフフフフフフフフフ
- 89 名前:仕様書無しさん mailto:sage [2007/08/21(火) 09:08:26 ]
- いあ。いあ。ふんぐるい むぐるうなふ こぼる ふたぐん
- 90 名前:仕様書無しさん mailto:sage [2007/08/21(火) 10:05:16 ]
- 本当の悪夢はコボ会社が唐突にJAVA開発始めたとき
マヂシヌル
- 91 名前:仕様書無しさん mailto:sage [2007/08/21(火) 13:20:31 ]
- Javaで(辞めたいほどの)糞コードって書けるの?
- 92 名前:仕様書無しさん mailto:sage [2007/08/21(火) 13:22:37 ]
- 伝統の数千行main()とか、catch(Exception e){} とか
興味深いコードは沢山あるぞ
- 93 名前:仕様書無しさん mailto:sage [2007/08/21(火) 14:55:16 ]
- 本物のコボラはどんな言語の上でもCOBOLプログラムを書ける。
- 94 名前:仕様書無しさん mailto:sage [2007/08/21(火) 14:58:09 ]
- どんな言語もCOBOL風にやっちまうんだよな
変数も定数も全部大文字とか 数値をいちいち文字列に変換してから処理とか
- 95 名前:仕様書無しさん mailto:sage [2007/08/21(火) 15:29:20 ]
- >>88
ガリでも食ってろフフフフフフフフフフフフフフフ
- 96 名前:仕様書無しさん mailto:sage [2007/08/21(火) 16:11:58 ]
- VBみたいな自動文字整形されちゃうのは無理だろとか思ってたら
コメントに大文字英数でCOBOL訳が書いてあった。
- 97 名前:仕様書無しさん mailto:sage [2007/08/21(火) 17:02:18 ]
- すげぇ執念((((;゚Д゚))))
- 98 名前:仕様書無しさん mailto:sage [2007/08/21(火) 17:03:33 ]
- ∩(・∀・)∩いあ!こぼる!こぼる!!
- 99 名前:仕様書無しさん mailto:sage [2007/08/21(火) 17:12:29 ]
- COBOL対訳付きのソースなんて・・・
- 100 名前:仕様書無しさん mailto:sage [2007/08/21(火) 17:37:02 ]
- 訳が許されるのはアセンブラまでだよね〜
- 101 名前:仕様書無しさん mailto:sage [2007/08/21(火) 18:55:45 ]
- コボラの執念は異常
- 102 名前:仕様書無しさん mailto:sage [2007/08/21(火) 21:11:59 ]
- 怨念だろ...
- 103 名前:仕様書無しさん mailto:sage [2007/08/21(火) 21:30:03 ]
- 上司「新しい案件の話なんだが、某社にてコボルで作成された古いシステムがある」
俺「(あー、リプレースか・・・)」 上司「で、そいつが寿命と言う事もあり、リプレースの時期にある。」 俺「(流行でJavaでWEBとか言うんだろうな、糞)」 上司「そこで、新しくコボルでリプレースする事になった」 ・・・・は? 俺「いや、自分も周りもコボル使える人なんていないんですが・・・」 上司「大丈夫。俺でも読める」 辞めるかな、この会社。 って辞めたくなった上司の一言のネタだな、こりゃ
- 104 名前:仕様書無しさん mailto:sage [2007/08/21(火) 21:37:29 ]
- >>103
COBOLでWEBだな。
- 105 名前:仕様書無しさん mailto:sage [2007/08/21(火) 21:42:58 ]
- COBOL ON RAILS
- 106 名前:仕様書無しさん mailto:sage [2007/08/21(火) 22:09:21 ]
- >>103
…ウチは PL/I→COBOL だよ
- 107 名前:仕様書無しさん mailto:sage [2007/08/21(火) 22:26:03 ]
- ACAX
- 108 名前:仕様書無しさん mailto:sage [2007/08/21(火) 23:11:18 ]
- 皆大文字使うんだな、流石だ。
- 109 名前:仕様書無しさん mailto:sage [2007/08/21(火) 23:28:33 ]
- >106
逆行しとるがなw
- 110 名前:仕様書無しさん mailto:sage [2007/08/22(水) 00:13:37 ]
- C言語において、、、
ヘッダファイルにグローバル変数が"定義"してある。(externはなく、staticでもない) そのヘッダは #ifndef XXX_H の様な記述は無く、多重includeの対策は無い。 標準ライブラリで定義済の変数を、何故か自分で定義している。 バグがあり、症状も現れている。(テストしてないだろてめぇぇぇ) 潜在バグも既に発見されている。(ローカル配列のポインタを返すなど) 必要も無いのに、全レコードを読み込んで保持する。(reallocを繰り返す) そのreallocは ptr = realloc(ptr, size); 文字列リテラルの連結 "AAAA" "BBBB" をいちいち、strcatなどで連結する。 一つめのifで確定した条件をネストしたifでもう一度聞いている。 関数一つが数百行。 ifやfor/whileのネストは8段階くらい。 コメントアウトされた部分が、実際に生きているコードより長い。 原則1プログラム1ソースファイル。 など。
- 111 名前:仕様書無しさん [2007/08/22(水) 00:18:02 ]
- >>92
>catch(Exception e){} ん、これ何か問題が?
- 112 名前:仕様書無しさん mailto:sage [2007/08/22(水) 00:18:55 ]
- >ヘッダファイルにグローバル変数が"定義"してある。(externはなく、staticでもない)
gccなんだろうかねぇ・・・。
- 113 名前:仕様書無しさん mailto:sage [2007/08/22(水) 00:21:13 ]
- >>111
例外の握りつぶしは犯罪 100歩ゆずってもログに吐け、なにが起きたか解らないだろ・・・
- 114 名前:仕様書無しさん mailto:sage [2007/08/22(水) 00:23:07 ]
- 「全盛期の糞コード」スレみたいな
・あまりにコンパイルエラーが出るからエラーでもバイナリ生成 ・ソースファイルを保存しただけでOSがフリーズした
- 115 名前:仕様書無しさん [2007/08/22(水) 00:23:47 ]
- >>113
再スローすれば握り潰しにはならないぞ。 エクセプションは例外の種類別に処理するのが望ましいというだけで・・・。 オマエの発言は厨臭いな。
- 116 名前:仕様書無しさん mailto:sage [2007/08/22(水) 00:24:59 ]
- >>115
> catch(Exception e){} このコードのどこが再スローしてるんだよw
- 117 名前:仕様書無しさん mailto:sage [2007/08/22(水) 00:25:34 ]
- 情報漏えい対策とかで、爆弾みたいなツールを導入された
なにかやる度に動き始めて、PCの起動に約10分 ソースは全て暗号化されているから、都度解凍しなくてはならない パスワードも凝っていてフザケンナ で、ソースも暗号なんですよw
- 118 名前:仕様書無しさん mailto:sage [2007/08/22(水) 00:26:17 ]
- >>115
>catch(Exception e){} ブロックの中身を省略してレスしたわけじゃなくて、 ホントに何の処理もしないcatchが入ってるってことじゃないか?
- 119 名前:仕様書無しさん mailto:sage [2007/08/22(水) 00:26:30 ]
- >>115
> catch(Exception e){} ← 跡形もなく握りつぶしてますがなw
- 120 名前:仕様書無しさん mailto:sage [2007/08/22(水) 00:27:58 ]
- > catch(Exception e){}
の時点で糞だろ 再スローしたとしても、throws Exception と記述するハメになる
- 121 名前:仕様書無しさん mailto:sage [2007/08/22(水) 00:28:08 ]
- シェルスクリプトにて、
複数あるシェルスクリプトの共通的な環境変数も、いちいち其々に書く。 テンポラリファイルを消さない。(消すJOBを別定義してある) 変数を必要もないのに環境変数化にする。 必要もないのにawkなどを使いたがる。 引数かリダイレクトで済むのに、なぜか cat file | grep ..など シェルスクリプトを「シェル」と(ry
- 122 名前:仕様書無しさん [2007/08/22(水) 00:29:50 ]
- >>116
あぁ。すまんな。 このスレでは過去から何度も(Exception e)について議題に上がってたんだよ。 もう、ずっと前の過去スレから。 そんなトコにツッコミ入れるとは思いもよらなかったよ。
- 123 名前:仕様書無しさん mailto:sage [2007/08/22(水) 00:41:32 ]
- >>122
思い込みでソース書きそう。 しかも自分の思い込みが常に正しいと思ってるな。 一緒に仕事したくないタイプ。 と思い込みにより断定してみた。
- 124 名前:仕様書無しさん mailto:sage [2007/08/22(水) 00:43:45 ]
- 禿同
- 125 名前:仕様書無しさん [2007/08/22(水) 00:43:51 ]
- >>123
自己紹介乙。
- 126 名前:仕様書無しさん mailto:sage [2007/08/22(水) 00:49:47 ]
- >>109
それがさ、情報処理試験の選択肢から PL/I が既に消えてるからって理由らしいんだよ… 確かに COBOL はまだある…あるけどさ…?
- 127 名前:仕様書無しさん mailto:sage [2007/08/22(水) 01:04:52 ]
- >>122
なにこの上から目線www
- 128 名前:仕様書無しさん mailto:sage [2007/08/22(水) 01:07:16 ]
- >>127
オマエのようなバカで厨にはちょうどいいんだよ。
- 129 名前:仕様書無しさん mailto:sage [2007/08/22(水) 01:12:00 ]
- catch(Throwable e){}
- 130 名前:仕様書無しさん mailto:sage [2007/08/22(水) 01:19:51 ]
- そこまでやればもう拍手をやりたいなw
- 131 名前:仕様書無しさん mailto:sage [2007/08/22(水) 09:35:59 ]
- >>113
会社に握り潰しどころか、正常値返して何事もなかったかのように振る舞うソース書くツワモノが…… でも、返す値が出鱈目だから、結局駄目なんだけど
- 132 名前:仕様書無しさん mailto:sage [2007/08/22(水) 10:16:09 ]
- >>131
それは正常値を捏造してんじゃなくて、 エラーの時はエラーコードを返すって 懐かしい習慣を今の世に伝えようと しているんではないかと。 で、コメントにエラーコードとエラー内容の 対応が書いてあったりしてなあ。
- 133 名前:仕様書無しさん mailto:sage [2007/08/22(水) 10:16:43 ]
- >>131
返り値捏造はスゴイと思うです。
- 134 名前:仕様書無しさん mailto:sage [2007/08/22(水) 10:37:54 ]
- >>132
いや、理解しがたいかもしれないがマヂ 例外起きるとDBの値を適当に持ってきてやがった orz
- 135 名前:仕様書無しさん mailto:sage [2007/08/22(水) 11:20:30 ]
- >>110
> そのreallocは ptr = realloc(ptr, size); 何か問題が? realloc ってそういうもんだよね。 reallocならmemcpyもしてくれるし。 memcpyが要らない場合でも、memcpy は普通無視できる程度の時間しかかからないし。 > 文字列リテラルの連結 "AAAA" "BBBB" をいちいち、strcatなどで連結する。 場合によってはそういうのもアリじゃないか? 目くじら立てるほどとは思えん。 もちろん、バッファ境界を気にしてなくてバッファオーバーフローが起きるなら別だが。 俺C++使いだが、stream に連続して << 操作したり、 std::basic_string<T> に連続して += したりするぞ? その方が意味が明確になる場合もあるからな。
- 136 名前:仕様書無しさん mailto:sage [2007/08/22(水) 11:25:00 ]
- >>135
realloc() が失敗したら漏れる。
- 137 名前:仕様書無しさん mailto:sage [2007/08/22(水) 11:26:49 ]
- >>135
文字列リテラルは並べて書くだけで連結できる。
- 138 名前:仕様書無しさん mailto:sage [2007/08/22(水) 11:45:23 ]
- >>134
それ、プログラマーとしてってより 人間として失格だよ!
- 139 名前:仕様書無しさん mailto:sage [2007/08/22(水) 13:17:21 ]
- >>136
reallocが失敗するような状況で、それが何の問題が?
- 140 名前:仕様書無しさん mailto:sage [2007/08/22(水) 13:41:37 ]
- ptr1 = realloc( ptr, size );
if( ptr1 ) { ptr = ptr1; } else { // ptr に有る情報は何かに使う } とか? もっとも malloc() がコケた以上先の処理がまともに動くとも思えんけど しかし1レコード読むごとに realloc() してたら殺したくなるな
- 141 名前:仕様書無しさん mailto:sage [2007/08/22(水) 13:54:58 ]
- >>110のようなソースの修正やってて文句言いながらやってたら
リーダーに「人のソースにいちいち腹が立つような人は要らない。他にも人間はいる」 とかいわれて別チームに振りなおされた漏れ まさかそのソース、お前が書いたのか?
- 142 名前:仕様書無しさん mailto:sage [2007/08/22(水) 14:02:10 ]
- 出来ることって、せいぜい free して、
アプリケーションを終了するくらいだな キャッシュとかのためにメモリバカ食い設計になっているプログラムなら、 キャッシュを解放して再挑戦する価値はあるかもしれないが、 それでもフラグメンテーションがすごそうだからやっぱり何も出来ないかもしれないな
- 143 名前:仕様書無しさん mailto:sage [2007/08/22(水) 14:40:56 ]
- /* ここから先は見ちゃイヤン */
ってコメントがついた、そりゃーもうすんばらしい若気の至り満載な関数がorz
- 144 名前:仕様書無しさん mailto:sage [2007/08/22(水) 14:50:57 ]
- >>142
>free して、 >アプリケーションを終了 やめとけ。 (以下、例のループ)
- 145 名前:仕様書無しさん mailto:sage [2007/08/22(水) 15:40:09 ]
- さぁ、fjに行こうかw
- 146 名前:仕様書無しさん mailto:sage [2007/08/22(水) 20:08:21 ]
- >>120
int a = 10; // default value try { a = Integer.parseInt(aStr); } catch (NumberFormatException e) {} はやるなぁ。
- 147 名前:110 mailto:sage [2007/08/22(水) 20:19:19 ]
- realloc と文字列連結の話は、>>136,>>137の通りです。
mallocで最初に150MB程度確保、その後reallocで25MBずつ拡張、最終的に350-400MB程度まで確保です。 reallocで失敗したらすぐ終了してるんですが、reallocとかmallocで確保した領域は、 freeしなくても、プログラムの終了時に自動解放される(または場合が多い)、 との事ですが実際のところどうなんでしょうね? >>141 あなたを苦労させているのは、私じゃありませんよ。 私も(心の中で)グチりながらやってます。
- 148 名前:仕様書無しさん mailto:sage [2007/08/22(水) 20:30:31 ]
- >>146
場合によるけど起こりえないならRuntimeExceptionでラップして投げとく方がいいし、入力側でチェックしたり先に変換しておくほうがベターだろ
- 149 名前:仕様書無しさん mailto:sage [2007/08/22(水) 20:50:04 ]
- >>148
その入力時チェックと、NG時の値の設定を同時にやりたいんだろう。 と言うか俺もやるよこれ。楽で。 もちろん、すごい回数やるような時には使わないが。
- 150 名前:仕様書無しさん mailto:sage [2007/08/22(水) 20:58:38 ]
- 全角通っちゃうけど
- 151 名前:仕様書無しさん mailto:sage [2007/08/22(水) 21:02:04 ]
- 職場じゃないし議論しても意味はないけど
例えば「20」と間違えて全角で入れてしまった場合、ユーザーには何の警告も出さずにデフォルトの10に設定されてしまうが、それでいいの?
- 152 名前:仕様書無しさん mailto:sage [2007/08/22(水) 21:13:10 ]
- いい。
指示されてない以上それでまったく問題ない。 気を利かせて作ってあげてもまったく感謝しないのだから、そこは追加料金貰う。 それが業界標準。
- 153 名前:仕様書無しさん mailto:sage [2007/08/22(水) 21:25:47 ]
- そりゃ、そんな会社は辞めたくなるな
- 154 名前:仕様書無しさん mailto:sage [2007/08/22(水) 21:28:25 ]
- 知識も技術もない奴が書いたならば仕方ないとも思うが、解っていて書くのマとしてどうよ?
- 155 名前:仕様書無しさん mailto:sage [2007/08/22(水) 21:29:25 ]
- >>147
fj.lang.c malloc free でぐぐる。
- 156 名前:仕様書無しさん mailto:sage [2007/08/22(水) 21:42:16 ]
- >>149
にしてもちょっと判りにくい。 catchの中で10を入れてもらった方が やりたい事が素直に伝わる。
- 157 名前:仕様書無しさん mailto:sage [2007/08/22(水) 23:10:24 ]
- ユーザーは間違いを指摘されると苛つくもんだ。
黙ってデフォルト値のほうがマシなケースも多い。 金とか命がかかってるなら別だけどね。
- 158 名前:仕様書無しさん mailto:sage [2007/08/22(水) 23:12:09 ]
- でもデフォルト値に変更されたことを報知する仕組みはあったほうがいいよな
- 159 名前:仕様書無しさん mailto:sage [2007/08/22(水) 23:24:12 ]
- 間違いを指摘されて苛立つと文句くるくらいなら入力させなきゃいいんじゃねw
- 160 名前:仕様書無しさん mailto:sage [2007/08/22(水) 23:29:01 ]
- 一般的なユーザ
↓ ヤダャダー! 〃〃∩ _,,_ ⊂⌒( `Д´) `ヽ_つ⊂ノ 間違いを指摘されるのは _,,_ 〃〃(`Д´∩ ⊂ ( ヽ∩ つ でも黙って デフォルト値を入れられるのもいや 〃〃∩ _,,_ ⊂⌒(つД´) `ヽ_ノ⊂ノ 可愛い彼女も欲しい … ∩ ⊂⌒( _,,_) `ヽ_つ⊂ノ ... ... zzz… ∩ ⊂⌒( _,,_) `ヽ_つ⊂ノ
- 161 名前:仕様書無しさん mailto:sage [2007/08/22(水) 23:35:19 ]
- >でも黙って
>デフォルト値を入れられるのもいや >〃〃∩ _,,_ > ⊂⌒(つД´) > `ヽ_ノ⊂ノ 大丈夫だよ、君は気づかないw >可愛い彼女も欲しい 禿同
- 162 名前:147 mailto:sage [2007/08/23(木) 00:29:06 ]
- >>155 ありがとう。
ttp://www.mk.ecei.tohoku.ac.jp/~masahide/knowhow/C_FAQ_2 の 7.24にありました。やはり、当てにしない方が無難ですね。
- 163 名前:仕様書無しさん mailto:sage [2007/08/23(木) 00:58:40 ]
- >>162
釣り? またループしたいの? あなたの使おうとしているOSや処理系のマニュアルを読みなさい。 Cの規格をいくら読んでも無駄。
- 164 名前:仕様書無しさん mailto:sage [2007/08/23(木) 14:06:12 ]
- 「fj行こう」=「富士の樹海行こう」だと思った
- 165 名前:仕様書無しさん mailto:sage [2007/08/23(木) 14:27:05 ]
- え?違うの?
- 166 名前:仕様書無しさん [2007/08/24(金) 11:53:53 ]
- そんな貴方に
uwarite
- 167 名前:仕様書無しさん [2007/08/24(金) 20:56:34 ]
- うわらば
- 168 名前:仕様書無しさん mailto:sage [2007/08/24(金) 21:09:06 ]
- >>164
「富士通に行こう」かと思った。 意味は>>164と変わらんが。
- 169 名前:仕様書無しさん mailto:sage [2007/08/24(金) 23:29:50 ]
- 少しは関数名を考えろと思った
int fuck() { //何かのチェック処理 }
- 170 名前:仕様書無しさん mailto:sage [2007/08/24(金) 23:35:57 ]
- func
fund fune funf fung funh 連番にするなと言っておいたら、こんなん書かれた事ある。 書いた奴はぶん殴ったのは10年以上前の思い出
|

|