パスワードを忘れた? アカウント作成
593977 journal

kamogawaの日記: ネバーエンディングストーリー症候群アンチパターン

日記 by kamogawa

<パターン名>
ネバーエンディングストーリー症候群

<適用範囲>
今日の俺

<症状>
オブジェクト同士が密に結合されてどうにもこうにも
ならんプログラムがある。このプログラムに機能追加
する必要が出た。似たような機能はすでにプログラム中に
存在するが、既存のソースに手を入れるのは嫌なので、
新機能を既存の機能に依存せず、かつ、既存の機能に
影響を与えないように、孤立したクラスに機能を実装
しようと計画を立てた。さて、新規にクラスを作成し、
既存の似た機能を持った関数を新規クラスにコピーする。
関数が使用している関数が見つかるごとに、見境無く
新規クラスにコピーしていき、不要な依存はどんどん
削除していく。しかし、コピーする関数は際限なく増え、
新規クラスはどんどん膨らんでいく。なんかこのままだと
賽の河原の石積みみたいに永遠に作業しつづけるのでは
ないかと不安になり、モチベーションが低下する。

<解法>
大丈夫です。プログラムの元サイズは所詮10万行しか
ありません。これは宇宙の無限さに比べれば、呆れるほどに
有限です。作業した結果として、プログラム全体を
コピーするはめになったとしても、たかだか20万行の
プログラムができるだけです。宇宙に飛び出していった
ハッブルのことを思えば超簡単ですね。もっとがんばれ、
超がんばれ。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

ハッカーとクラッカーの違い。大してないと思います -- あるアレゲ

読み込み中...