http://www.hatena.ne.jp/1087671647
あなたが関わってきた中で最悪のコード、ソース、プロジェクトを教えてください。 - 人力検索はてな
WindowsCEの開発環境で、ソース・ヘッダ合わせて300本。
タスクごとにワークスペース・プロジェクトは分かれていますが、一番大きなもので26Mのプロジェクトがあります。
開くのに、P4 1.8G/256M/WinXPのマシンで2分かかります。
# ちなみに、今関わっている仕事です
業務ではなくてもいいですか?
学生の頃研究テーマでさわった、Microsoft の N88-BASICのソースのうちディスクアクセスに関する部分は殊更に酷かったです(NECの作ったソースかもしれませんが)
まず、Sub CPUとの通信が半二重で、全二重になっていないので、そこを改良すると転送速度がおよそ2倍になりました。更に、ディレクトリ管理にかなり無駄があって、コードを書き直したところ、5倍くらいの速度になりました。
仕事で、他人のソースコードをさわることも有りますが、今までにこれほど酷いソースに巡り合ったことはありません(笑)
怖い怖い。。。
その1:N○Tデータ関係の仕事
技術者達の進捗管理の甘さに泣かされ、
挙句の果てにとばっちりでプロジェクトから外された経験があります。
その2:み○ほ銀行
プログラムに関する資料が全然存在しない為、おおいに泣かされました。
私が関わったのは末端のさらに末端の仕事でしたが
あれじゃ、コケるのも当然かと。
金融系のお仕事は仕様要件がうるさいのに。。。というのはありますよね。さんざん泣かされてきました。
URLはダミーです。
もうすぐ役目を終えるシステムがあります。
遅くても年内には終わります。
システム構築時には関わってなかったので、その中であった最悪な事は私には関係ないので省きますが、
もうすぐ終わるのにシステムに負荷テストを勝手にやって問題が起こってかき回されました。
他の仕事が手に付かないくらいに。。。
えーっと。。。
開発時とか構築時にこういう負荷テストって全てやって問題ない状態で運用するものじゃなかったっけなぁ?
って、思いましたがお客様に言うわけにもいかず、これ以上開発とかをかき回すわけにもいかず。。。
踏んだり蹴ったりでした。
しかも、負荷テストは通常あり得ないIllegalなデータを送ると言うものなので、今までよく無事だったなぁと思います。
こんな内容でよろしかったでしょうか?
普通は負荷テストの場合、テストツールを大量のPCで走らせて。。。ですね。
http://www.hatena.ne.jp/1087671647#
あなたが関わってきた中で最悪のコード、ソース、プロジェクトを教えてください。 - 人力検索はてな
URLはダミーです(本当はそこの会社のを書きたいのですが・・・)
それは自社の基幹業務の再構築プロジェクトです。
1年目にシステムの評価をやるためコンサルティングを行い、
開発全体で4年の計画を作りました。
2年目から再構築に入り今年の1月に第1段階の稼働が始まりました。
まず、稼働時期が4ヶ月遅れたこと。
しかも、投資額が3億3千万のところに69百万の超過が発生したこと。
これだけのトラブルプロジェクトとなるとお約束ですが、品質が全然安定せず半年たつ今でもバグが頻繁に見つかること。
開発を担当したのは、メインフレームベンダー系(社員の業績評価を率先してやったあの会社です、この言い方通じますか?)のソフト会社です。
実際の開発では、下請け・孫請け・さらにその下までSEをつれてきて統制のとれないチーム編成で最悪でした。
いまは、後の計画の企画をやってますが問題の会社はもちろんはずしてます。
もしかしてしんびあんOSのFOMAとかみずぽ銀行でとかジャパンネットでやっちゃった某社ですか?
藤原博文著「Cプログラミング診断室」のWeb公開版です。トンデモなプログラミングの例がたくさん紹介されています。
がいしゅつ級に愛読書です。この手の人だとしばたそーよーのほうが好きかも。
Yahoo! JAPAN
URLはダミーです。
自分がまだこの業界に入って間もないころです。
N○CのPOSレジでCOBOLのシステムなのですが、その中の精算プログラムがおそろしくスパゲティになってました。
共通化されたサブルーチンが用意されているにもかかわらず、独自に関数が組み込まれていて、解読に1ヶ月を要しました。
(自分の経験地のなさも手伝ったのですが)
それ以来COBOLにはトラウマがあり、現在VBで飯食ってます。
よく考えたら入社したての自分に押し付けられたのでしょうね。
(なんの参考にもならないのでポイント不要です。)
ポイントあげますのでDelphiとかC#をひとつ。。。
Yahoo! JAPAN
URLはダミーです。
VB.netで作成したプログラムでしたが、とにかく1イベントで3000行以上あるソースで作者は、これができたからすごいと言った感じの人でした。聞いてみたら、COBOLの世界ではこのようにやるのだそうです。メンテ性について聞いてみたところ、普通ならできるそうです。できなければ技術不足だそうです。製作者の後輩に聞いたところ、僕はまだ技術不足なので・・・と言ってました。確かにトリッキーなことはまったく書いてなく、行を追って何をしているのかはよくわかるプログラムでした。サブルーチンとかを使うと、小さいプログラムはわかりやすいが、大きいプログラムの場合はサブルーチンを探していかないと判らないという話でした。彼にとってわかるとは、プログラムが機能を実現するために何をしているか把握することで、僕にとっては、プログラムがどんな機能を持っているかを把握するという大きな、プログラムにたいする意識の隔たりを感じた事件でした。僕のような人間にとって、彼のプログラムは最悪のものです。
サブルーチンで細かくするか、それともでっかい1ソースでか。。。わたしにはER図とか連携図を作っていくタイプのCOBOLはやったことあります。また、それを自慢すること知識ではないような。>そのセンパイとやら
あれはひどかったと思うプロジェクト
・プロジェクト1
- お客様対応者(幹部社員)が、拡声器でしかなかった
何もわかっていないので、いつも現場監督者をひきつれてお客様先に向かう。
現場監督者が耳元でささやくことをそのまま大きな声でしゃべるだけ。
現場監督がいない間、現場で重要な問題が発生すると作業がとまる(お客様と打ち合わせ中は携帯電話もつながらないので)
それでなくても、予定から大きく遅れているのでいたい。やとっているソフトハウスさんにも申し訳ない。
ちなみに、ソフトハウスさんはこのプロジェクトで何回か、3〜5日連続徹夜をさせられました。
徹夜が続くと、目の下のくまが真っ黒になります。漫画ででてくる絵そのものです。
ソフトハウスさんが体をこわさないか、気が気でありませんでした。
・プロジェクト2(隣の部のプロジェクト)
- 商談規模が大きすぎて見積もりができなかったぐらいなのに、契約が成立してしまった
「このぐらいあればなんとかなるだろう」と根拠ない見積もりを回答したのに、それで契約がとれてしまったそうです。
実際には、その何倍ものお金(人)が必要に・・・。投入した人員にも、心身をだめにして会社をあとにする者も・・・。
最後は、大量に人を投入したのはいいけど、プロジェクト終息後、生き残った人員を配属する先が完全にきまっていないとの問題が・・・。
怖すぎる話です。
URLはダミーです。
コーディング規約が決められていなかったため、変数名なのか関数名なのか定数名なのかや、データ型が何型なのかや、グローバルなのかローカルなのかが、定義している場所まで辿らないとわからないソースがあり、改造に苦労しました。改造部分だけコーディング規約で統一しても意味が無いので、今もバラバラです。
なお、現在も全国で動いているシステムです。
ちなみに何のシステムなのか気になります。
Yahoo! BB入会案内トップ - Yahoo! BB
URLダミー。愚痴に近いのでポイントはいらないです。
Flashとjavaでオーサウェアと同じ機能を
持ったものを設計から開発までほぼ
一人でやらされた時。
Yahoo!オークション
他人が作った仕様書も規格や納期にあわせることを考えないで作られたなんちゃって
オブジェクト指向のせいで修正時間に手間取った時。コメントないとソースとかw
実際の話、外注で頼んだらホームページビルダーで作ってビルダーのメタ消してから納品してくる奴。ソース書き直すのはこっちだぞ!
ヘタな怪談より怖いです。。。
ちょっと質問内容と違ってるのかもしれませんが、
ACVプログラマ(全部コピペですます人。自分の周りではこういう)の書くソースは最悪ですね。
内容をろくに理解もせずにいろんなとこからソース引っ張ってくるから、
乱雑になりがちだし、やってる本人が読めないし、無駄な処理いっぱいあるし・・・
これより上のACVFプログラマ(検索してリネームし、自分が作ったかのように見せかける)になると、
変数の名前の意味と実際の使われ方が違ったりもしてより最悪。
それで、当の本人はというと「俺は仕事こなしたぞ」みたいな感じでいるし・・・
まぁ、結局全部、別の人間が書き直すんですけど。
ある意味、逃げ出す人間が多いプロジェクトとかよりもマイナスですよ、、、
コピペですます人もいるんですか。。。
株式会社ビューポイント情報科学研究所(VPI)
URLは我が社のURLです。
過去、最悪のソースだったのは以前関わった旅行代理店のシステムです。
このシステムは某エアラインの子会社のシステムハウスが作成したCOBOLベースのシステムですが、2000年問題対応でソースを手直しする必要が出ました。私が実際にやったわけではなく別の会社がやったのですが、ソースをその会社が持ち帰って自社のシステムでコンパイルしたら、動かなかったのです。なぜ動かなかったか、理由を聞いて目が点になりました。
まず、COBOLはコンパイル言語ですからソースファイルからオブジェクトファイルを作ります。したがって、ファイル作成日付はオブジェクトの方が新しくなります。ところが、ソースよりオブジェクトの方が古かったり、オブジェクトの方が新しくても日付が3年離れていたりと、めちゃくちゃになっていました。すなわち、ソースファイルをちゃんと管理していなかったのです。で、制作した子会社に問い合わせるとこのシステムの資料やファイルは、合併のどさくさで捨ててしまって残っていないと。ここで、2000年対応をしないで全く新しいシステムを売りつけに来た理由がわかりました。
しかも、うるう年の計算が以下のようになっていたそうです。
If Y = 1996, うるう年の処理, 通常年の処理
すなわち、1996年のうるう年しか処理できないようになっていました。このプログラムを作った人物は、プログラマの基本中の基本であるうるう年計算のアルゴリズムを理解していなかったようです。こんな程度の人物が、その後この会社のシステム開発の一部門の課長に収まっているのですね。
この会社は、システム管理の不始末で一度この旅行代理店に謝りに来たのですが、その時のこの開発担当者の態度がすごかった。両わきに営業部長と課長が座っていて小さくなっているのに、「なんでおれがここにいるのだ?」という態度で上着を脱いで腕まくりをしてふんぞりかえっている。基礎知識もなければ社会的常識もない輩でした。
http://shihyo.himajin.net/p/904.html#35085
口車筆無精乃介周作、現代技術事情
3年前に私が書いた記事です。最悪プロジェクトの事例がてんこ盛りです。
おそらくその某エアライン系IT会社と私は仕事をしたことがあります。(受注側の一部ユニット担当で)
なかなかもって最悪でした。たかだかVCでの制御ライブラリ(DLL)を渡したはずなのに、どうも嘘処理を加えたりですとか。。。
後でじっくり四増させていただきます。
Impress Watch
「自分自身はこういう方法がいいが、○○が口やれといったのでこの方法をとる。」というコメントがあった。
しかもわざわざ自分が良いとするソースコードを別関数で作って。
ソースは履歴が残るのでこういうグチっぽいのを書くのはどうかと、当時新人ながらに思いました。
ある種のストレス発散ですね。
これの、のカスタマイズ、パッケージ自体は中国で作っているらしいです、バグだらけで最悪です、ソースもJavaなのに手続き言語のようなコードで、設計してないしテストしてないとしか思えません。
某社の担当者に刺されないよう気をつけてください。見た感じ府中プロダクトの香りがしますが。。。
URLはダミーです。
1.ASP,VBをJAVA,JSPにしてくれと頼まれました。それはそれで、コンバーターを使えばできるのであまり問題が無いはずだったのですが、、、、
同じようなルーチンがいくつもいくつもVB,ASPやってる奴らの仕事ってこんナものかと、その後担当者から恐怖の一言が、、、作ったやつが会社の悪口を書いてるかもしれないので全部見てくれ、、、え、コメントチェックまでやるの??? という事で、大幅なる時間オーバーをしました。(条件としては全部消さないでくれ)
2. Cで作ってんのにまるでフォートランみたいなプログラム。これは、良くある噺家も知れません。
VAX一筋20年の人が組んだCプログラムは見たことありますが、あれはあれでキレイです。
後での可読性では劣りますが。
URLはダミーです
15年以上も前のPC9801+VAX11でのプロジェクトなのでソースはもうありませんが、私の上司がリーダを務めていたプロジェクトは本当に最悪でした。当時としてはCASEツールの構築という先進的なシステム案件だったのですが、上司がマルチウィンドウシステムやメモリ管理というものを全く理解せずに作ったので、後から描画データが画面をはみ出したり、カーソルが2つも3つも表示されたり、と悲惨でした。最悪なのが、ガベージコレクタを実装していたのですが(作者は私で設計者は上司)一度ガベージコレクタが走るとシステムはクラッシュしてしまうというもので、なんとその上司は客先が多くのデータを作っていくと必ずクラッシュするというクレームが来たときに、「ああ、それはガベージコレクションが走ったんですよ。そういう仕様です」と説明していました。当然プロジェクトは半年以上遅れたあげくに中止となり、訴訟騒ぎとなりました。
怖すぎます。。。
医療機器の自動診断プログラムでしたが、
前半と後半に分かれています。
○前半(計測部)
・ドイツの大学から購入しました。
・コメントがほとんど入っておらず、ドイツ語なまりの英語です。
・変数名がドイツ語の略語です。
・元ソースコードはFortranでf2cを使ってcに変換したソースコードしか手元にありません。
・関数はモジュールとして再利用されるのではなく、長くなったソースコードを短くなるようにぶった切ってあります。
・goto文の嵐です。
・学生が卒論で、毎年手を加えていってできたものなので、一定のコーディングルールがなく、それぞれの部分が謎です。
・c言語なのに配列のインデックスが1からスタートします。
・学生が絶妙に調整したマジックナンバーが随所にちりばめられています。
○後半(診断部)
・他社の解析アルゴリズムの解説書からぱくって来てスクラッチからコーディングしています。
・当然、前半の計測部と後半の診断部はまったく数値の意味や特性が違うので、そのまま組み合わせるととんでもない診断が出てしまいます。
・そこで、無理やり他社の数値に近くなるような中間変換コードをぶちかましてあります。
こういうプログラム保守しろっていわれてもねぇ〜。
それは無茶というより詐欺られてますよね。。。
関西電力株式会社
URLはだみーです。
むかし、変電所・発電所関連の制御プログラムに携わったことがありました。
電圧積算測定タスクを二人で分担.ボクは他のタスクにデータを受け渡すところなど
を受け持ち、もう一人は電圧積算(要部分)のサブルーチンを一人でやってました.
ボクはダミーデータでも用意してテストしていればよかったのでサクサク作って完成。
そのうち、彼も出来たと言うので合体させてテスト。しかし、流れるデータ見ているといつも一緒。
翌日から来なくなった彼は(はじめは風邪と言っていたましたが)なんと
バカちょんデータを延々メモリに書き込むプログラムを書いていたのでした。
立会いテストは数日後。先輩に手伝って貰ってなんとか間に合わせましたがアレには参りました。
彼はそのまま逃亡してしまいました。
逃亡キタワァ
http://ten-2003.hp.infoseek.co.jp/
謎の10代老人Tenのホームページ
URLはダミーです。
別に最悪という訳ではありませんが…
友人とシムシティ風のゲームを作っていました。
僕はドット絵担当で、友人がプログラムを組んでいました。
夏休みをほとんど潰し、
睡眠時間がずっと4時間未満ということもありましたが…
やっていたのですが…結局完成せず、目指していたコンテストにも応募できませんした。
その時は、ちょうど部活もやっていたので、改めて掛け持ちの辛さを痛感しました。
きっとその行為は報われます。でもちょっとだけ今回の趣旨と違うぞ、と突っ込み入れさせて。
http://www.hatena.ne.jp/1087671647####
あなたが関わってきた中で最悪のコード、ソース、プロジェクトを教えてください。 - 人力検索はてな
自分が現在関わっているネットワークの監視機能のシステム更改についてですが、20年来の業者から、今回10年近くやってきた業者から別の業者に変わって判明したことなのですが、
1 監視機能(COBOL)のソースプログラミングがソースコードの形で残ってない。
2 それを動かすJCLのソースコードがない。
3 プログラム設計書にプログラムIDが全く書いてない。
3 プログラム設計書と実際のプログラムとの間に相違点が山ほどある。
4 機能設計書に無い機能が山盛り搭載されている。
5 システムを搭載しているサーバ(UNIX)のROOT権限のパスワードがない・・・
6 以上すべて前回の業者に聞いても「知らない」と回答される。
えっと・・・どうやって機能引き継いで更改するんですか????
さすがにみずほでやらかした業者とだけ・・・><;
不良品作成メーカーキタワァァァ ほんと勘弁してくださいと。
http://pc5.2ch.net/test/read.cgi/prog/1084532091/
この会社辞めようと思ったソースコード#E
この関数については***-****-****まで電話下さい、とコメントしてあるソースを見た事あります…
ついにこれ関係のお約束スレまでキタワァァ
包茎2.0[真性・仮性包茎の手術と治療の最大専門ポータル]
URLはダミーです。
ある研究所から依頼された認証システムの仕事です。
以前別の会社の人が作ったシステムで、今回はバージョンアップして欲しいとのこと。
早速お客さんからプログラム一式をもらったのですが、ドキュメントが圧倒的に足りない!
内部設計書や関数仕様書が無く、あるのはかろうじて外部設計書とマニュアルのみ。
どこでどんなプログラムが動くのか、データとして何をやりとりするのか資料が無い。
ソースにコメントも無いから、引数として何を渡しているのか良く分からん。
お客さんも全体の流れやシステムの内部については全く知らない。
おまけにお客さんから渡されたプログラム一式はいくつかのバージョンがあったのだが、
バージョン管理が全くされていないので、どれが最新なのか今イチよく判別できない。
…これをどうやって改変しろと…?
予想通り、トンでもないことになりました(TT)
ま、めちゃめちゃ勉強になったのは確かですけどね…。
あんな仕事はもう二度とイヤだ。
_| ̄|○しょっぱなから凶悪すぎてコメントしdふらいです。。。でもメモリXPでメモリ256は少ないような。。。