1 名前:仕様書無しさん [2007/08/14(火) 23:48:45 ] この会社辞めようと思ったソースコード。 プログラマとして幻滅するソースコード。 プログラマを悩ませるソースコード。 をつらつらと綴っていって頂戴。 ちなみにここは質問スレじゃないので 技術的な質問がしたいならム板 pc11.2ch.net/tech/ に逝って。 前スレ この会社辞めようと思ったソースコード#17 pc11.2ch.net/test/read.cgi/prog/1183700531/
273 名前:仕様書無しさん mailto:sage [2007/09/04(火) 02:58:15 ] かわいそす
274 名前:仕様書無しさん mailto:sage [2007/09/04(火) 03:00:10 ] >>272 >1関数500行 これ後で読む人もかわうそす
275 名前:仕様書無しさん mailto:sage [2007/09/04(火) 05:50:13 ] >>272 その指示の意図が全く解らん 上司も1関数500行タイプで嫌がらせされたとしか...
276 名前:仕様書無しさん mailto:sage [2007/09/04(火) 07:59:50 ] >>275 1関数500行だから、何やっているのかわからなくて レビューできなかったんじゃないか?
277 名前:仕様書無しさん mailto:sage [2007/09/04(火) 09:39:35 ] 長文読んでいただきありがとうございます 指示の大元は客 1関数500行を苦にするのは俺ぐらいで他の人は全員平気 なんで >>274 かわいそうなのは俺ぐらい 新人もこういう書き方がプロなんだと思って育つ >>275 意図は多分なし 少なくとも俺個人攻撃はなさそう >>276 レビューなんかしない職場 仮にレビューなんかやったら 「お前のソースはあちこちに処理が飛ぶから読みにくい」 って俺が吊るし上げ食らうだろうけど
278 名前:仕様書無しさん mailto:sage [2007/09/04(火) 09:49:48 ] 職場を変えるか変わるかどっちかにしなきゃ。 まぁとりあえず頑張れ。
279 名前:仕様書無しさん mailto:sage [2007/09/04(火) 09:54:37 ] 頑張っては駄目だ
280 名前:仕様書無しさん mailto:sage [2007/09/04(火) 10:00:11 ] だいたい完成後にコメントとはいえソースの変更を易々と受け入れるようなところは話にならない
281 名前:仕様書無しさん mailto:sage [2007/09/04(火) 10:17:12 ] その話にならない会社が多いから話になる訳で・・・
282 名前:仕様書無しさん mailto:sage [2007/09/04(火) 12:55:04 ] コメントの条件が 「そのコメントを見て同等の関数をかけること」 なら、>>272 が圧倒的有利なんだけど、 そういう理想論は残念ながら(業務の世界では)現実には即していないからな……。 500行の関数とかだと、関数名から動作の推定は厳しいだろうし コメントも内容を全然表していないだろうしな…。
283 名前:仕様書無しさん mailto:sage [2007/09/04(火) 13:23:35 ] #define IF if( #define THEN ){ #define ELSE } else { #define ELIF } else if ( #define FI ;} #define BEGIN { #define END } #define SWITCH switch( #define IN ){ #define ENDSW } #define FOR for( #define WHILE while( #define DO ){ #define OD ;} #define REP do_lbr #define PER }while( #define DONE ); #define LOOP for(;;){ #define POOL }
284 名前:仕様書無しさん mailto:sage [2007/09/04(火) 13:27:47 ] ワラタ
285 名前:仕様書無しさん mailto:sage [2007/09/04(火) 14:16:59 ] むりくり違う言語にしようとしてるのかwww
286 名前:仕様書無しさん mailto:sage [2007/09/04(火) 16:46:02 ] Steve Bourne キタコレ
287 名前:仕様書無しさん mailto:sage [2007/09/04(火) 17:10:52 ] >>283 ベル研究所の人ですか?
288 名前:283 mailto:sage [2007/09/04(火) 17:32:23 ] ちっ、ばれちまったか。
289 名前:仕様書無しさん mailto:sage [2007/09/04(火) 17:45:03 ] これか〜。 www.kaimei.org/note/book_out/expert_c.html Algolなんだね。みんな物知りだな。
290 名前:仕様書無しさん mailto:sage [2007/09/04(火) 17:49:23 ] ん?もしかして、このプリプロセッサ使って sh書いたの?うわー。
291 名前:仕様書無しさん mailto:sage [2007/09/04(火) 20:28:15 ] >>283 こんな感じでC言語モドキのソースが大量生産されている職場とか普通にあるから困るw
292 名前:仕様書無しさん mailto:sage [2007/09/04(火) 23:50:57 ] 懐かしいな、このホンどこいっちゃったかな。
293 名前:仕様書無しさん mailto:sage [2007/09/05(水) 00:04:42 ] #define MOD(M, N) (M-(int)(M/N)*N) #define RAND(N) MOD(rand(), N) #if 0 #define randn RAND #else // MODが直るまでこっちを使え int randn(int n) { int x; do { x = RAND(n); } while (x >= n); return x; } #endif
294 名前:仕様書無しさん mailto:sage [2007/09/05(水) 01:15:00 ] >>293 直るまでといっても、randnの中でMODが使われてる気配。
295 名前:仕様書無しさん mailto:sage [2007/09/05(水) 03:40:21 ] #defineの引数がかっこで囲まれてないから 優先順位が低い演算子がきたら項が分断されて、あぼん。
296 名前:仕様書無しさん mailto:sage [2007/09/05(水) 12:31:57 ] MODなんて自作する必要あるん? %じゃだめなんだろうか
297 名前:仕様書無しさん mailto:sage [2007/09/05(水) 12:44:26 ] だめなんですよ。
298 名前:仕様書無しさん mailto:sage [2007/09/05(水) 12:47:03 ] シェフのこだわりである。
299 名前:仕様書無しさん mailto:sage [2007/09/05(水) 12:47:07 ] なぜに?
300 名前:仕様書無しさん mailto:sage [2007/09/05(水) 14:54:02 ] レポーターはそう尋ねた。
301 名前:仕様書無しさん mailto:sage [2007/09/05(水) 16:18:42 ] なぜに?ってベル研究所の人にも いってやりたいよなw
302 名前:仕様書無しさん mailto:sage [2007/09/05(水) 21:50:48 ] >>296 小数以下が欲しいんじゃない?
303 名前:仕様書無しさん mailto:sage [2007/09/05(水) 21:59:58 ] modで少数以下?
304 名前:仕様書無しさん mailto:sage [2007/09/05(水) 22:26:33 ] MODで小数って新しい概念だなぁ
305 名前:仕様書無しさん mailto:sage [2007/09/05(水) 22:37:13 ] 少数の何が新しいのかわからん俺に詳しく。 3.5 mod 2 = 1.5 とか普通だろ?
306 名前:仕様書無しさん mailto:sage [2007/09/05(水) 22:52:39 ] >>305 VB6だと0が返ってくるんだぜ
307 名前:仕様書無しさん mailto:sage [2007/09/05(水) 23:08:57 ] >305 それを小数以下というのか・・・ 何だかなぁ(。-_-。)
308 名前:仕様書無しさん mailto:sage [2007/09/05(水) 23:14:51 ] java で試したら、 3.5 % 2 == 1.5 だったよ。
309 名前:仕様書無しさん mailto:sage [2007/09/05(水) 23:59:46 ] とはいえ、近似値である小数の剰余って使いにくそう
310 名前:仕様書無しさん mailto:sage [2007/09/06(木) 00:32:45 ] mod本来の意味から外れててなんだか気持ち悪いです
311 名前:仕様書無しさん mailto:sage [2007/09/06(木) 00:57:26 ] >>307 説明よろ
312 名前:仕様書無しさん mailto:sage [2007/09/06(木) 05:49:43 ] 小数点以下ならfmodでいいんじゃ?
313 名前:仕様書無しさん mailto:sage [2007/09/06(木) 07:58:19 ] >>311 素直に「間違えました」って言えよw
314 名前:仕様書無しさん mailto:sage [2007/09/06(木) 12:31:20 ] 会社を辞めたいとは思わなかったが… ある案件の障害対応で、カバレッジを通そうとした時、用意されたテストケースで どうしても通らないところがあって、実際には業務的に通らないと判明した時、泣きたくなった。 更に、もう1個の修正対象ソースはそのソースのコピペな上に、今度はテストケースがコピペ。 おまけに、今度は通らなかったロジックを通す必要がある。 不審に思って以前にテストした担当者に聞いてみたら、 丸々のコピペだからかたっぽはテストしていないと判明orz ええ、泣きながらテストケース作り直して全部通しましたとも。 あん時、顔は笑っていたけど、目に殺意が入っていたかも・・・
315 名前:仕様書無しさん mailto:sage [2007/09/06(木) 15:47:36 ] >>313
316 名前:仕様書無しさん mailto:sage [2007/09/06(木) 19:53:05 ] >>314 丸ごとコピペって。 鉄拳制裁したれ。
317 名前:仕様書無しさん mailto:sage [2007/09/06(木) 20:25:19 ] >>316 そんなんで鉄拳制裁していた手がいくつあっても足りないな、うちの会社の場合。orz
318 名前:仕様書無しさん mailto:sage [2007/09/06(木) 20:35:46 ] クロスカウンター方式を提案します。 一定期間ごとに実施すれば各期間で必要な手は最大でも一つでとても経済的です。 導入されてはいかがですか?
319 名前:仕様書無しさん mailto:sage [2007/09/06(木) 22:03:32 ] テストケース 〜〜であることを確認する ○ ←レッツコピペ!! 〜〜 〜〜 〜〜 〜〜
320 名前:仕様書無しさん mailto:sage [2007/09/06(木) 22:53:39 ] ○×は面倒だからどうしてもコピペになっちゃうな まだOKNGのほうがいい
321 名前:仕様書無しさん mailto:sage [2007/09/06(木) 23:33:28 ] システム全体がフランケンシュタインを髣髴とさせるコピペばかりのソース もちろんドキュメント一式も上記怪物の生まれ変わりのよう 現在も増改築の真っ最中
322 名前:仕様書無しさん mailto:sage [2007/09/07(金) 00:27:31 ] で、ある日突然崩壊する。
323 名前:仕様書無しさん mailto:sage [2007/09/07(金) 01:01:11 ] if (a == 0) hoge(); みたいなコードがあったら、 条件:a == 0 → 結果:hoge()をコールする のように、コードそのまんまのテストケースを書くように指示されていたので、 言われたままに書いていたけど、バグの数も基準があって、バグが0だとまずいといわれた。 こんなテスト仕様書で、どうやってバグをだすんだよ。
324 名前:仕様書無しさん mailto:sage [2007/09/07(金) 01:13:51 ] 俺が昔やった方法を教えてやろう。 つ テスト仕様書にバグを含める バグの発生率が2〜5%程度にならないと、充分に試験ができていない、と見なす某大手
325 名前:仕様書無しさん mailto:sage [2007/09/07(金) 01:19:45 ] >>324 >>323 は、テスト仕様書も、コードと突き合わせながらレビューをして、それでOKをもらう必要があるので、 そのワザは使えません。 仕切ってる人が、単体テストの意味を取り違えてるとしか思えない…
326 名前:仕様書無しさん mailto:sage [2007/09/07(金) 01:55:36 ] そういう事なら、その仕切ってる人がバグだな
327 名前:仕様書無しさん mailto:sage [2007/09/07(金) 01:58:40 ] >>325 出来上がった成果物を信用していないというか、 ソースコード自体を信じてないみたいなテスト仕様書だな
328 名前:仕様書無しさん mailto:sage [2007/09/07(金) 02:11:23 ] ソースコードをじゃなくてコンパイラとか言語そのものを信じてないんだと思うよ。 >>323 じゃないけど hoge = "test"; で「hoge変数に test という文字列が格納されていること」 みたいな試験項目を見たことあるから分かる
329 名前:仕様書無しさん mailto:sage [2007/09/07(金) 05:44:10 ] ちょっとつきあった某社:「コンパイラを信じてなにかあったらどうするんだ?」って、 未だにASMオンリー。 しかもそれがルネサスとかじゃなく、LSIC80でさえも。 親分がJRじゃなければとっくにつぶれてるぞ。
330 名前:仕様書無しさん mailto:sage [2007/09/07(金) 07:10:26 ] そこまで言うなら、 「アセンブラを信じてどうするんだ?ハンドアセンブルだろ....」 って言い返せよ。
331 名前:仕様書無しさん mailto:sage [2007/09/07(金) 07:52:49 ] 多分最適化でおかしくなっちゃうコードでも書いてるんだろ
332 名前:仕様書無しさん [2007/09/07(金) 07:53:07 ] 「機械を信じてどうするんだ!手で計算しろ!」
333 名前:仕様書無しさん [2007/09/07(金) 08:15:09 ] ICなんか信用ならん タイガーを使え!
334 名前:仕様書無しさん mailto:sage [2007/09/07(金) 08:56:36 ] 他人なんか信用するな! 頼れるのは己の力のみ!
335 名前:仕様書無しさん mailto:sage [2007/09/07(金) 11:16:24 ] そこ、開発成果のリリースまでどれくらいかかってるんだろ?>>329 RADを要求される案件が多いので、VBやC#にどっぷりの漏れ。 ASMでどれほどのRADができるのか知りたい。
336 名前:仕様書無しさん [2007/09/07(金) 11:27:54 ] どんな開発環境で作ってもプログラムは最終的に機械語になるわけで、 既存の開発環境でできる事は機械語と1対1対応できるアセンブラにできない事はない
337 名前:仕様書無しさん mailto:sage [2007/09/07(金) 11:32:23 ] マ板でコスト無視な発言はイタイですよ
338 名前:仕様書無しさん mailto:sage [2007/09/07(金) 20:57:07 ] どの板でもネタにマジレスは痛いんだぜ
339 名前:仕様書無しさん mailto:sage [2007/09/07(金) 21:03:23 ] >>335 そんな馬鹿丸出しのことを言っているのは上の方だけで、現場では普通に Cで開発、上には -S したアセンブリソースしか見せない、みたいな予感。
340 名前:仕様書無しさん mailto:sage [2007/09/07(金) 21:24:07 ] >>327 そもそもそのソースが本当に仕様を満たしてるかどうかがわからんのに なんでソースを中心にテストを作るのか
341 名前:仕様書無しさん mailto:sage [2007/09/07(金) 21:52:59 ] きっと辞めたくなる会社の上司だな
342 名前:仕様書無しさん mailto:sage [2007/09/08(土) 01:57:07 ] >323 どーしよーもない場合は 「テストケースを想定して、そこで見つかるようにわざとバグらせておく」 もうちょっと前向きな意図で、「ベバッグ」と称してそういうことをすることがある、らしい。201の鉄則本にあった。 この場合は……hoge();の前に;でも入れておくかな。
343 名前:仕様書無しさん mailto:sage [2007/09/08(土) 02:46:38 ] それはコンパイル通らんような気が
344 名前:仕様書無しさん mailto:sage [2007/09/08(土) 02:57:35 ] テストを別の人がする時には、テストする人をテストするバグを混ぜることもあるよね 境界条件の以下と未満を置きかえるような、まともにテストすれば必ず見つけられる簡単なバグ ただ、バグを入れたことを忘れる俺のバグが問題なんだよな
345 名前:仕様書無しさん mailto:sage [2007/09/08(土) 02:59:37 ] >>343
346 名前:仕様書無しさん mailto:sage [2007/09/08(土) 03:10:31 ] >>344 故意バグ一覧.xls 作ろうぜ
347 名前:仕様書無しさん mailto:sage [2007/09/08(土) 03:22:41 ] / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | この 故意バグ一覧.xlsとはなにかね? \  ̄ ̄ ̄|/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ( ・ハ・) ∧ ∧ < あ・・・いや・・・・ ( ⊃ ) (゚Д゚;) \_______  ̄ ̄ ̄ ̄ ̄ (つ_つ__  ̄ ̄ ̄日∇ ̄\|>>346 |\  ̄ ======= \
348 名前:仕様書無しさん mailto:sage [2007/09/08(土) 03:55:38 ] 仕様の正に要の部分がバグってる(別の案件のテスト中に見つけた)のに、 1年以上も、バグのまま動いてるプログラムがある。 テスト実績はすべてOKで残っている。 実質、業務では使っていない項目ということで、放置したままだ。。
349 名前:仕様書無しさん mailto:sage [2007/09/08(土) 04:03:25 ] でもバグ一覧は作っておいたほうがいいな 報告済みかそうでないか分かるだけでも安心感が増す
350 名前:仕様書無しさん mailto:sage [2007/09/08(土) 07:17:40 ] >>349 作るな! バグ・トラッキング・システムを使え!
351 名前:仕様書無しさん mailto:sage [2007/09/08(土) 09:21:30 ] おれ、バグ見つけるのも再現させるのも、そしてそれを直すのも得意なんだけど、 何故かみんなから嫌われてる...orz
352 名前:仕様書無しさん mailto:sage [2007/09/08(土) 10:01:40 ] 人には「自分とは異質なもの(自分に出来ないことをやっちゃう奴・ 自分には理解できない話をする奴・自分の知らないことを知ってる奴) を嫌ったり排除したりする」傾向があるからな...しかも馬鹿な野郎ほどその傾向が強い。
353 名前:仕様書無しさん mailto:sage [2007/09/08(土) 10:07:29 ] その傾向に陥ってないか自問自答するのは容易じゃないよね.
354 名前:仕様書無しさん [2007/09/08(土) 10:11:13 ] 351じゃないけど、 バグ出しを続けた結果、そのシステムは作らなかったことになったことがあるな。 一つ直させると二つ壊れてくるというゴールドラッシュだったな。
355 名前:仕様書無しさん mailto:sage [2007/09/08(土) 10:13:50 ] 1つで2つならば少ないんじゃない? 少しでもいじるとシステムが動かなくなるのがデフォってのもあるわけで・・・
356 名前:仕様書無しさん mailto:sage [2007/09/08(土) 12:10:28 ] >>350 開発部署で用意されてるBTSに入れてるんだけどさ、見てくれないし全部スルーされちゃうんだよね
357 名前:仕様書無しさん mailto:sage [2007/09/08(土) 13:44:29 ] >>356 それはきっと バグ たっぷりで 際限が無い からだよ
358 名前:仕様書無しさん mailto:sage [2007/09/09(日) 00:46:34 ] >>350 でも結局報告するときは結局BTSからバグ一覧を作成することになる場合が多い希ガス。 csvとかで。
359 名前:仕様書無しさん mailto:sage [2007/09/09(日) 01:12:28 ] >>358 なるよな。。 なんか紙で出てこないと不安らしい。 我慢できる限界がエクセルの一覧表。 しょうがないから、BTSのxmlからcsv吐き出すスクリプト組んだよ。。 余計な仕事させやがって。
360 名前:仕様書無しさん mailto:sage [2007/09/09(日) 21:24:20 ] /* if いふ else えるす while わほいる? do どー fopen ふぉーぷん fread ふれっど fwrite ふうらいと fclose ふくろーず */ なにこのカンペ……
361 名前:仕様書無しさん mailto:sage [2007/09/09(日) 21:34:42 ] >>360 答えが間違ってるカンペって・・・
362 名前:仕様書無しさん mailto:sage [2007/09/09(日) 21:44:18 ] 「わほいる?」に萌えた 語感がかわいい わほいる
363 名前:仕様書無しさん mailto:sage [2007/09/09(日) 21:52:48 ] 微笑ましいが・・・・他所でやって欲しいな
364 名前:仕様書無しさん mailto:sage [2007/09/09(日) 21:57:06 ] /* */ ってVC2005だと 行選択時の//の一括付加・削除のときに巻き込まれて /* → * になったりするから使いづらい ゲイツ死ね
365 名前:仕様書無しさん mailto:sage [2007/09/09(日) 22:11:42 ] /*横綱.c/* #include <朝青龍.h>
366 名前:仕様書無しさん mailto:sage [2007/09/09(日) 23:04:45 ] >>360 do どー fclose ふくろーず (梟?) がチョット好き >>365 /* 横綱.c/* これコメントとして間違ってない? 下の行もコメントアウトしてるのか。
367 名前:仕様書無しさん mailto:sage [2007/09/09(日) 23:10:27 ] どう見ても間違ってますw
368 名前:仕様書無しさん mailto:sage [2007/09/09(日) 23:11:25 ] >>360 ふくろーずってバンドの名前みたいだなw
369 名前:仕様書無しさん mailto:sage [2007/09/09(日) 23:15:17 ] きっと甲本ヒロト。
370 名前:仕様書無しさん mailto:sage [2007/09/10(月) 08:52:15 ] ギリギリガガンガン
371 名前:仕様書無しさん mailto:sage [2007/09/10(月) 20:03:31 ] ソースというよりmakefileなんだけど、 依存関係が間違ってるとか、は当然のごとくあり。 今日見たのは、 CFLAGS= としてオプションも消しているのを見た。 コメント化してデフォルトを有効にすると、警告がでるわでるわ。 コンパイラを誤魔化すためにやってるんじゃないかと思った。 もともとバグのあるソースだし、表面的にでも動くように、見なかったことにしました。 (ほんとはバグも表面化してるけどw)
372 名前:仕様書無しさん mailto:sage [2007/09/10(月) 20:45:49 ] 今更だけど、なんで日本のソフトウェア業界ってこんなに壊滅的なの?
373 名前:仕様書無しさん mailto:sage [2007/09/10(月) 20:52:39 ] どこの国も変わらんと思うぞ。 派手さでいえば米国の方が上だし。