困ったソース その2 辞めたもん勝ち

1999.06.14

 SEなんて仕事してると、他人が書いたプログラムの引継ぎって仕事もあるのよ。綺麗でわかりやすいソースならいいんだけどねぇ。
 過去に最低なのがあったわ。協力会社(といえば聞こえはいいが、要するに下請け)に頼んだ仕事だったんだけど。いっとくけど最初は私の担当じゃなかったのよ。
 進捗報告は順調だったのに、フタを開けてみたらボロボロ。まあ、よくある話よね。だいたい、ほとんどC++の経験のないUNIX屋さんに、WindowsのGUIプログラムを任せたのがそもそもの間違いだったのよ。ソースコードレビューもろくにしなかったし。

 で結局、その協力会社(っていうかフリーのプログラマさんだったんだけど)の管理をしつつ、そのプログラム設計を担当してた社員が、それを引き継いだのよ。もちろん協力会社さんはお払い箱。当然ね。
 私も同じプロジェクトで別のプログラム担当してて、ちょっとソース見せてもらったんだけど、一応、綺麗なソースではあったのよ。コメントは少な目ではあったけど。  で、一見、動くんだけど、肝心なところは動かないの。
 その部分のソース見て、のけぞったわよ。

int CMostImportantObject::MostImportantProcess(....)
{
    // 近日公開
    return 0;
}

 ふざけんなぁっ。たちの悪いアメリカンジョークよりひどいわ。肝心の処理が全く実装されてなかったのよ。いい度胸してるじゃない>お払い箱のフリープログラマ

 これを引き継いだ社員、私の先輩なんだけど、こいつもいい度胸してたわ。そもそもこの人がちゃんと進捗管理をしてたら、こんな惨事にはならなかったのよね。
 お客さんに頭を下げて納期を遅らせてもらって、なんとかプログラムを動くようにしたと思ったら、いきなり退職しやがったのよ、こいつ。信じらんない。最初から信じてなんかなかったけど。
 なんとか動くところまで漕ぎ着けたのは認めるわよ。でもねぇ、完全に動くわけじゃないのよ。要はバグだらけだったの。
 そして最悪なことに、このプログラム、私が引き継ぐ羽目になったのよ。抵抗したけど、下っ端サラリーマンにできる抵抗なんて多寡が知れてるわ。結局、泣く泣く引き継いだわよ。仕方ないのよね。できるオンナには仕事が集まるものよ。

 ソースを眺めて、再び愕然とする私。き、汚いわっ。割りと綺麗だったソースが、無残に汚くなってる。なによこれ。なんで関数一つが1000行以上あるのよっ。
 こんなもの引き継ぐくらいだったら、最初から書き直した方がましだったかもしれない。でも、納期が迫ってたのよぉぉぉ。仕方なく、私はバグレポートを見ながら、バグの出てるところを一つずつ潰していくという対症療法に出たわ。だって、一から内容を理解して作り直す時間なんてなかったんですもの。

 しかし、GUIから入力された数値を計算して結果をDBに保存するだけのプログラムが、どうしてここまで肥大するもんかしらと疑問だったわ。デバッグしながら。

 バグはなかなかとれなかった。そりゃそうよね。同じような処理する関数がいくつもあるんだもの。一個所直したって駄目なの。何個所も同じような修正をしないと。見事なまでのCopy&Pasteプログラムだったわね。そりゃ肥大するわな。

 普通のMFCを使ってたらまだ少しは楽だったんだけど、客の方針で、MFCから派生した独自のクラスライブラリを使ってたのも辛かったわ。そのライブラリの一部を作ったのは、うちの会社の別の社員なんだけどさ。まともなライブラリではあったんだけど、やっぱり使い慣れないライブラリってのは厳しいわよ。オンラインヘルプもないし。

 そのライブラリから、さらに派生させたアプリケーション独自のクラスで処理してる部分もあって、もう泣きたかったわよ。基底クラスのメンバ変数と同じ名前のメンバ変数が派生クラスで定義されてたりとか。そこからさらに無駄としか思えない派生してるクラスもあったり、場あたり的なフラグが鬼のようにあったり。しかも変数名が m_bFlag とか。さらに取りうる値が0と1と-1とか。b(BOOL型のプレフィクスね)じゃないわよ全然。だいたい、あんた何のフラグなのよ一体、とか、ディスプレイに向かって叫びたくなった夜もあったわよ。ろくなコメントついてないし。

 なんとか納品したと思ったら、今度は機能追加の発注が。この時点で私はキレたわ。もう絶対書き直してやる、こんなソース。

 ちなみに私、この頃って入社して2年ちょっとだったのよね。C++も初心者をやっと脱する程度の技量しかなかったけど(今でもそうかもしれない・・・)やったわよ。そしたら、コードの量が半分近くまで減ったわ。それだけ無駄な処理が多かったのね。

 なんとか、そのプロジェクトからも足抜けできたけど、今思い出しても腹が立つわ。あんなプログラムを私に押し付けて、ぬけぬけと退職しやがった奴。あんたのことよ佐藤(仮名)。再就職するまで、南の島で優雅なバカンスだったらしいわ。退職金で。悔しい。いつか私も、自分のプログラムを他人におしつけて寿退社してやるわっ。(無理)


春までなんぼに戻る | ホームページに戻る

ご意見、ご感想はけーたまで