正しくないビジネスアプリの作り方

2007–04–26

今回の現場はテスト支援と言う事で参画したけど、 メンテナンスのため出来上がったソースを見る機会が多かった。 そんなわけで、いつもより客観的に成果物を見ることができ、反面教師的にためになった。 あぁ、これが現場の現状なんだなぁと。

そんな現場は早めに抜けれるように動くのはもちろんだけど、一日中文句言ってるわけにも行かないので、 何が駄目かじっくり考えてみた。

1.長すぎるメソッド 最初から共通化できなくても、もうちょっと処理を分割してくれてれば、 後から共通的に使えそうな部分がいっぱい切り出せるのに。

2.変数の使いまわし 中身を詰め替えていろんなところで再利用される変数。 何のためかわかりやすい変数名を新たに定義しようよ。

3.大容量のhidden たいした表示内容じゃないのに、5万行のHTMLソースを吐くアプリって。。。。

4.全く意識されないトランザクション 処理単位が意識されず、細かな処理ごとにひたすらコミットされてる。 途中で落ちたら中途半端なデータの出来上がり。

5.全く出力されないログ うまくデータが更新されないのでログをみたら 「エラーが発生しました」って1行だけ出力されてるし。そりゃ手も足もでませんわ。 っていうか、エラー発生してるのに画面には「正常に更新されました」って。

6.強引な共通化 いろんな機能を詰め込んだため、引数が複雑でいったい何ができる共通関数かさっぱりわからず。 こんな強引に共通化するぐらいなら、処理分けたほうがいいでしょ。

7.深いネスト 8.マジックナンバーの嵐 9.コピペソースの嵐

発注先に上記の一部を指摘してみたら、「納期が厳しかったから」だそうで。 最近は本や、オープンソースのコードを見てることが多かったので余計かもしれんけど、 でも上で挙げたこと至極基本的な事やと思うけどなぁ?

今は動いてる。 けどこれからメンテナンスや第二フェーズが確実に控えていることを思うと、 先が思いやられる。