- 1 名前:仕様書無しさん [2007/08/14(火) 23:48:45 ]
- この会社辞めようと思ったソースコード。
プログラマとして幻滅するソースコード。 プログラマを悩ませるソースコード。 をつらつらと綴っていって頂戴。 ちなみにここは質問スレじゃないので 技術的な質問がしたいならム板 pc11.2ch.net/tech/ に逝って。 前スレ この会社辞めようと思ったソースコード#17 pc11.2ch.net/test/read.cgi/prog/1183700531/
- 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 ]
- そういうレベルが普通なのか?
- 420 名前:仕様書無しさん mailto:sage [2007/09/20(木) 23:51:55 ]
- >>415,418
??。何をやろうとしてるのかすらさっぱりわからんのだが・・。
- 421 名前:仕様書無しさん mailto:sage [2007/09/21(金) 00:14:14 ]
- >>420
たぶん>>415の言うとおり#defineとtypedefを混同してるんだと思う。 ・・・typedefを何回も呼ぶつもりなのか??? 後から呼んだ方が有効になるなら、実害はなさそうだけど・・・ と思って試してみたら、さすがに名前が衝突してるってエラーが出た。
- 422 名前:仕様書無しさん mailto:sage [2007/09/21(金) 00:19:15 ]
- 「Hoge」がまだ定義されてなければtag_Hoge型の構造体としてHogeを定義、ってことだろう
何をしたいと思ったかは分かっても何に使うはさっぱりわからんw
- 423 名前:仕様書無しさん mailto:sage [2007/09/21(金) 00:40:31 ]
- Hogeが定義済みだったときにどんな動作をするんだろうな
- 424 名前:仕様書無しさん mailto:sage [2007/09/21(金) 03:36:09 ]
- なるほど、こういうレベルが普通なんだな……
- 425 名前:仕様書無しさん [2007/09/21(金) 13:07:19 ]
- public String getErrorMessage() {
// TODO 自動生成されたメソッド・スタブ return null; }
- 426 名前:仕様書無しさん mailto:sage [2007/09/21(金) 13:13:55 ]
- Cで継承とかしようってことかな。
#include "FooExt.h" #ifndef FOO #define FOO typedef strcut foo{ method1, method2, }Foo; #endif で、FooExt.hとかで typedef strcut foo{ method1, method2, method3, }Foo; #define FOO とか。。 考え過ぎか?。
- 427 名前:仕様書無しさん mailto:sage [2007/09/21(金) 21:15:10 ]
- >>425
??? ・・・catchしたいのかなぁ・・・
- 428 名前:仕様書無しさん mailto:sage [2007/09/21(金) 22:00:54 ]
- >>425 が何を言いたいのかさっぱりわからない
これってIDE(eclipse,netbeans,etc)で自動生成されたメソッドでしょ? 納品されたソースにこんなのがあったら嫌だけど、開発中なら腐る程あるよ
- 429 名前:仕様書無しさん mailto:sage [2007/09/21(金) 22:20:59 ]
- private String errorMessage;
から自動生成されたのは分かるが戻り値がぬるぽ
- 430 名前:仕様書無しさん mailto:sage [2007/09/21(金) 23:33:24 ]
- もう辞めた会社のソースだけど、何年も運用を続けてきたシステムの仕様変更があるからと、
俺も参加することになったときに、一月に現行処理のバグを200くらい報告したことがある。 仕様変更自体よりバグとりの時間の方が長い位だった。 そのためだけに一月くらい時間をもらえたのが幸運だったけど。 あと今の現場。JSPのソースが全部スクリプトレット。全部 out.println とかで書いてありやがる。 ほとんどCGI気分だっ。
- 431 名前:仕様書無しさん mailto:sage [2007/09/21(金) 23:34:52 ]
- >>428
保守するコードを開いてみたらTODOだらけってのはよくある話。
- 432 名前:仕様書無しさん mailto:sage [2007/09/21(金) 23:56:00 ]
- 藤堂さんのおおいしょくばなんだね…
- 433 名前:仕様書無しさん mailto:sage [2007/09/23(日) 01:39:37 ]
- 手順書はsudoさんだらけだしな
- 434 名前:仕様書無しさん mailto:sage [2007/09/23(日) 02:07:31 ]
- 作業始めたら安藤さんのお世話になりっぱなしだ
- 435 名前:仕様書無しさん mailto:sage [2007/09/23(日) 02:28:45 ]
- うちには後藤さんが多いから困る
- 436 名前:仕様書無しさん mailto:sage [2007/09/23(日) 02:34:01 ]
- んなこたー知らねーよ
- 437 名前:仕様書無しさん mailto:sage [2007/09/23(日) 02:48:43 ]
- 三木だったり後藤だったりする
- 438 名前:仕様書無しさん mailto:sage [2007/09/23(日) 02:53:17 ]
- // クローズ処理
if(rs != null){ rs.close(); rs = null; } (;^ω^)・・・
- 439 名前:仕様書無しさん mailto:sage [2007/09/23(日) 02:59:31 ]
- >>438
あるいは正しいような気すらしてくる
- 440 名前:仕様書無しさん mailto:sage [2007/09/23(日) 03:04:50 ]
- 旧VBっぽいアレだな
- 441 名前:仕様書無しさん mailto:sage [2007/09/23(日) 09:12:56 ]
- もうやめたけど前の会社
面接でC++が出来るかどうか聞かれて、出来ますと答えて入社。 引き継いだコードの cout を printf で書き直したらただの C になった。
- 442 名前:仕様書無しさん mailto:sage [2007/09/23(日) 12:02:26 ]
- >>438
これはwindowsのリソース関係の処理? windowsはよく知らないけど、きっと delete this; してるんだよ。そう願いたい。
- 443 名前:仕様書無しさん mailto:sage [2007/09/23(日) 12:26:43 ]
- >>438
javaではよく見るな。 優先的にGCの対象にするためにわざと参照を外しているらしい
- 444 名前:仕様書無しさん mailto:sage [2007/09/23(日) 12:42:49 ]
- >>443
インスタンス変数に持つとかアホな状況でなければ、変らないけどなー
- 445 名前:仕様書無しさん mailto:sage [2007/09/23(日) 12:54:05 ]
- そうなんだけど、今のプロジェクトでは
必要でなくなった変数にはnullを入れるというコーディング規約 さらにハンガリアン記法も強制 定数名が60文字以上ある状態なのに80文字で折り返し強制 ほか多数 バカ(というか時代遅れ?)が上に立つとろくな事にならんという見本
- 446 名前:仕様書無しさん [2007/09/23(日) 13:08:40 ]
- 長くても分かりやすい名前をつけろというけどさ、
その上でコードは80文字で折り返せって言うのも訳が分からん話だな。
- 447 名前:仕様書無しさん mailto:sage [2007/09/23(日) 13:22:07 ]
- >>445
なるほど、改善提案もできないコミュニケーション能力の欠如した引っ込み思案の自分を 棚上げしてこんなところで文句を垂れる君はバカではないんだw
- 448 名前:仕様書無しさん mailto:sage [2007/09/23(日) 13:33:44 ]
- 60文字の定数のどこが分かりやすいんだ?
- 449 名前:仕様書無しさん mailto:sage [2007/09/23(日) 14:01:15 ]
- >>447
くされ基盤チーム乙w
- 450 名前:仕様書無しさん [2007/09/23(日) 14:06:28 ]
- >>447
お前はまずスレタイ読んだ方がいいな。
- 451 名前:仕様書無しさん [2007/09/23(日) 14:32:22 ]
- CHogeClass::CHogeClass()
{ delete m_pPtr; ... } いきなりdelete。 リリースモードだと奇跡的に動くがデバッグモードだと動かない。 そこで、コードを修正するのではなく全員リリースモードだけで開発し始めた。 当然数ヵ月後僕はその会社にいなかった。
- 452 名前:仕様書無しさん mailto:sage [2007/09/23(日) 14:40:01 ]
- >>451 直せよw
- 453 名前:438 mailto:sage [2007/09/23(日) 14:56:56 ]
- >>439 >>442 >>443 >>445
438です。 コメント部分が冗長すぎただけで、処理事態は問題はないです。 rs に null を入れるのは メモリ使用量の多いオブジェクトを、 早めにガーベージコレクションの対象にするためで 間違ってはいないと思います。 ただそれだけでした><
- 454 名前:仕様書無しさん [2007/09/23(日) 15:04:54 ]
- >>451-452
ワロタ
- 455 名前:仕様書無しさん [2007/09/23(日) 15:06:41 ]
- >>453
コメントも別に冗長じゃないけど。 他の処理との兼ね合いで書いているだけでしょう? //ここでクローズ処理してます。ガベコレ対策でnullいれとります。 //なにか問題でも? とか書いてあったら冗長だけどな。
- 456 名前:仕様書無しさん mailto:sage [2007/09/23(日) 15:10:16 ]
- 無意味なコメントはよくあるよな。
// ストリームを開く。 public OutputStream openStream() { ...; } アホか。
- 457 名前:仕様書無しさん [2007/09/23(日) 15:16:15 ]
- >>456
コメントを抽出するソフトとかあるんだけど、それは知らない?
- 458 名前:仕様書無しさん mailto:sage [2007/09/23(日) 15:18:24 ]
- よーし、修正しちゃうぞ。
//! ストリームを開く。 public OutputStream openStream() { ...; }
- 459 名前:仕様書無しさん mailto:sage [2007/09/23(日) 15:34:48 ]
- >>455 >>457
SUNが提唱している、 「Java Code Conventions」 ttp://www.tcct.zaq.ne.jp/ayato/programming/java/codeconv_jp/CodeConventions.doc4.html#385 >コードの中に既に含まれている情報やコードから自明であるような情報を重複させることは避ける に記載されているように、冗長なコメントは書くべきではないと私は考えます。 コメント自体は書けば書くほど可読性を下げます。 コメント無しで理解できるコードを目指すのがベストだと思っています。 (と、いってもまったくコメント無しでのコードを書くのも不可能でしょうけど) ちなみにドキュメンテーションはまた別ですが。
- 460 名前:仕様書無しさん mailto:sage [2007/09/23(日) 15:36:08 ]
- >>457
抽出して削除&書き直しするの? 僕のばあいは、もともとソフト会社じゃないから、Delphi、shのスクリプト、C、C++、C#、JavaScript、MATLAB 、WindowsScriptとか、あとNastran等々みんな適当なコードが残ってる。 「お前出来るだろ」ってほとんどコメント無しでの糞コードでくるから、リファクタリングとかだけでも 「無理っす。無理っす。無理っす。」を連発してる。 てか、いろいろ言葉が通じない。みんな言葉が通じるだけましだよ。
- 461 名前:仕様書無しさん [2007/09/23(日) 15:51:28 ]
- >>459
それは奢りだと思うよ。 誰でもコード読めるわけじゃないしね。 「このブロックでは、○○の処理をしています」って書いてある事で とりあえず数十行が簡単に読み飛ばせるなら、その方が効率がいいのは自明。 あなたの理想は以心伝心っと同じで、まあある種ありえない理想だと思うよ。 それ言ったらドキュメントも折衝も要らないからね。 全ては「ソースみろ」で済む。 実際はそうあいかないよ。
|

|