- 1 名前:仕様書無しさん [2007/08/14(火) 23:48:45 ]
- この会社辞めようと思ったソースコード。
プログラマとして幻滅するソースコード。 プログラマを悩ませるソースコード。 をつらつらと綴っていって頂戴。 ちなみにここは質問スレじゃないので 技術的な質問がしたいならム板 pc11.2ch.net/tech/ に逝って。 前スレ この会社辞めようと思ったソースコード#17 pc11.2ch.net/test/read.cgi/prog/1183700531/
- 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 ]
- どこの国も変わらんと思うぞ。
派手さでいえば米国の方が上だし。
- 374 名前:仕様書無しさん mailto:sage [2007/09/10(月) 21:49:17 ]
- C言語で作ってあったプログラムで、makefileでヘッダの依存関係が無かったので
depend追加したら毎回全てのソースがコンパイルされるようになった。 なんでかな〜、と思って調べてみたら、依存関係のトップにあるヘッダが make時に毎回自動生成されてやがる。 こんなmake環境にした開発者、氏ね。
- 375 名前:仕様書無しさん mailto:sage [2007/09/11(火) 00:24:58 ]
- >>373
米国の場合は、それを埋め合わせるセンスがあるんじゃないかと思ってる。 着眼点や、機能のまとめかたやUIの作りなどのセンス。 これがスマートだと、バグが判明しても、使い続けざるを得ないという気になってしまう。
- 376 名前:仕様書無しさん mailto:sage [2007/09/11(火) 01:02:33 ]
- 使い物にならない奴が志望してくるのがいかん。
大学で切り落とせ。 アホに単位をやるな。
- 377 名前:仕様書無しさん mailto:sage [2007/09/11(火) 01:11:47 ]
- 未経験者をいきなり実戦投入するとひどいのが出来上がる。
俺自身「今ならもっと上手く書けるのに」「あの時これを知ってれば」って思い出すことがある。 そんな自分と比べても、酷すぎるのが今の職場...orz
- 378 名前:仕様書無しさん mailto:sage [2007/09/11(火) 01:36:06 ]
- >376
そこでFizzBuzzですよ
- 379 名前:仕様書無しさん mailto:sage [2007/09/11(火) 01:36:10 ]
- 新人が使えないのは仕方ないが
使えないベテランが沢山いる、不思議なこの業界
- 380 名前:仕様書無しさん mailto:sage [2007/09/11(火) 02:01:54 ]
- >379
「ベテラン」というのが履歴書に書かれた経験年数に基づく呼称でないのなら 確かに不思議だが
- 381 名前:仕様書無しさん mailto:sage [2007/09/11(火) 02:20:30 ]
- 使えない奴は派遣するってことで
- 382 名前:仕様書無しさん mailto:sage [2007/09/11(火) 03:57:18 ]
- >>374
正直makefileって規模でかいとよく分からなくなるのがデフォというか 新たな仕様にしてほしいぐらいだ
- 383 名前:仕様書無しさん mailto:sage [2007/09/11(火) 07:23:02 ]
- >>382
ant使え、
- 384 名前:仕様書無しさん mailto:sage [2007/09/11(火) 08:14:37 ]
- 今のパソコンなら速いから、全コンパイルのbatでもすぐ終わるでしょ。
俺はmakeとbatと両方用意して、「makeを知らない保守者はbatでいいよ」と書き添えてる。
- 385 名前:仕様書無しさん mailto:sage [2007/09/11(火) 08:15:57 ]
- 扱うファイルが、100個ぐらいとか、依存関係がシンプルなものだけなら、makefile もまだ手軽で良いけどね。
それ以上で makefile 使ってるプロジェクトに関わると眩暈がするな。 世の中、もうちょっとマシなものが、いくらでもあるのによりによって makefile かよって。
- 386 名前:仕様書無しさん mailto:sage [2007/09/11(火) 10:57:02 ]
- >>384
んなもん、規模や開発環境によるだろ うちのプロジェクトはフルコンかけると2時間くらいかかるぞ 重要なヘッダが更新されると、すぐにフル逝っちまう orz
- 387 名前:仕様書無しさん mailto:sage [2007/09/11(火) 12:20:57 ]
- ヘッダの切り分けがおかしいんだろ
- 388 名前:仕様書無しさん mailto:sage [2007/09/11(火) 14:25:27 ]
- フルコン2時間って携帯?
規模に対して環境が貧相な現場って他に浮かばないんだけど 昔、入った携帯の現場で warning が10000超えたのは笑ろた
- 389 名前:仕様書無しさん mailto:sage [2007/09/11(火) 18:31:45 ]
- 少ねえ少ねえ
- 390 名前:仕様書無しさん mailto:sage [2007/09/11(火) 21:10:04 ]
- コンパイルのバグか何かで、6万後半あたりでwarningの数が一旦0になったこともあったな。
- 391 名前:仕様書無しさん mailto:sage [2007/09/11(火) 21:13:54 ]
- 臨海値65535か 16bit unsigned
- 392 名前:仕様書無しさん mailto:sage [2007/09/11(火) 21:19:13 ]
- コンパイラをバグらせるとは・・・
コンパイラ「想定の範囲外です・・・」
- 393 名前:仕様書無しさん mailto:sage [2007/09/11(火) 21:19:35 ]
- 臨海値
- 394 名前:仕様書無しさん mailto:sage [2007/09/11(火) 21:20:05 ]
- むしろfloatで
- 395 名前:仕様書無しさん mailto:sage [2007/09/11(火) 21:38:24 ]
- 今はlong long があるじゃまいか!
- 396 名前:仕様書無しさん mailto:sage [2007/09/11(火) 21:48:18 ]
- 遊戯、もうやめて!
コンパイラの示す warning は既に臨海値よ!!
- 397 名前:仕様書無しさん mailto:sage [2007/09/11(火) 21:59:07 ]
- const TYPE const*const&;
- 398 名前:仕様書無しさん mailto:sage [2007/09/11(火) 22:33:15 ]
- /* index.html */
#html head() { style;style.css } body() { test. } #html
- 399 名前:仕様書無しさん mailto:sage [2007/09/11(火) 22:44:26 ]
- これは新しい言語
- 400 名前:仕様書無しさん mailto:sage [2007/09/12(水) 03:34:02 ]
- #define head nanntoka
#define style kanntoka #define css kanntoka #define body foo #define test bar #include "index.html"
- 401 名前:仕様書無しさん mailto:sage [2007/09/12(水) 09:09:54 ]
- #include "mychtml.h"
int main() { html( head(title("Test Page")), body("Hello, world !!!<BR>\n") ); }
- 402 名前:仕様書無しさん mailto:sage [2007/09/12(水) 22:56:12 ]
- Const Arr = "a,b,c,d"
function aaa() for i = lbound(split(arr,",")) to ubound(split(arr,",")) if split(arr,",")(i) = "a" then aaa = split(arr,",") end if next end function こんなん
- 403 名前:仕様書無しさん mailto:sage [2007/09/12(水) 23:09:30 ]
- >>402
splitやり過ぎってヤツですか。
- 404 名前:仕様書無しさん mailto:sage [2007/09/12(水) 23:15:26 ]
- ソースコードがスパゲッティ!でもそんなの関係ねぇ!
- 405 名前:仕様書無しさん mailto:sage [2007/09/12(水) 23:33:39 ]
- >>402
んんん!?なんだか見覚えがあるw
- 406 名前:仕様書無しさん mailto:sage [2007/09/12(水) 23:50:26 ]
- >>402
これは素晴らしい無駄関数ですね
- 407 名前:仕様書無しさん mailto:sage [2007/09/13(木) 00:26:45 ]
- これはあれだ、きっとsplit呼び出しの結果が全て同じだと判断して、
自動的に一回の呼び出しに纏めてくれる、素晴らしいコンパイラが存在するんだよ!
- 408 名前:仕様書無しさん mailto:sage [2007/09/13(木) 00:29:07 ]
- それでも最適化なら・・・最適化ならきっとなんとかしてくれる・・・!!
- 409 名前:仕様書無しさん mailto:sage [2007/09/13(木) 00:31:24 ]
- 探すと本当にあるから困る
- 410 名前:仕様書無しさん mailto:sage [2007/09/13(木) 00:33:19 ]
- 最適化? こんぱいる?
くっふふふ VBScriptというものは ひとたび構文木にさえ解析されてしまえば 二度とは 二度とは
- 411 名前:仕様書無しさん mailto:sage [2007/09/13(木) 00:56:55 ]
- スパゲティと申したか
- 412 名前:仕様書無しさん mailto:sage [2007/09/19(水) 19:03:16 ]
- #ifndef Hoge
typedef struct tag_Hoge { (略) } Hoge; #endif え〜っと。
- 413 名前:仕様書無しさん mailto:sage [2007/09/19(水) 19:52:58 ]
- ・・・きっとCは初めてなんだよ。
先週入門書を読み終わったばかりなんだ。 きっと、きっと・・・
- 414 名前:仕様書無しさん mailto:sage [2007/09/20(木) 00:24:54 ]
- ifndefが嫌いだ
なんでifnodefじゃねぇんだ ややこしいよ #if !definedのほうがマシだ。 どうせ多重防止とかだったらpragma onceで事足りるからいいけど
- 415 名前:仕様書無しさん mailto:sage [2007/09/20(木) 16:09:26 ]
- >>412
そのソースの意図がさっぱりわからない。 #define と typedef を混同したのだろうか…
- 416 名前:仕様書無しさん mailto:sage [2007/09/20(木) 18:13:33 ]
- >>414
リリース版を表すNDEBUGの方が… 標準に従うと、デバッグ版のみ有効にするのに #ifndef NDEBUG ... #endif と否定が2回来て嫌な感じだ 結局可読性とかで _DEBUG が使うんだけどな って脱線しすぎか。
- 417 名前:仕様書無しさん mailto:sage [2007/09/20(木) 18:42:13 ]
- NDEBUGは<assert.h>が見るんだっけか。
- 418 名前:仕様書無しさん mailto:sage [2007/09/20(木) 18:55:12 ]
- >>415
FAQ級の落とし穴らしい。 www.kouno.jp/home/c_faq/c10.html#15
- 419 名前:仕様書無しさん mailto:sage [2007/09/20(木) 19:52:18 ]
- そういうレベルが普通なのか?
|

|