僕の原点(>_<)

僕がはじめてXPをやった時のプロジェクトが改修で僕のチームに戻ってきた。

.NETが出る以前のプロジェクトだったのでVB6でVBUnit使って、ActiveX Dllで、GUIのForm以外は全部クラスって感じのやつ。

継承を委譲で置き換えた、なんちゃって継承を使ったり、抽象クラスのかわりにインターフェースを多用していたりと、VB6ならではの実装なんだけど、このプロジェクトをやったことで、オブジェクト指向に対する理解が多少なりとも深まったことには違いなかった。.NETがこの世に出たときには、「VB6で同じことをやろうとすると大変なのに、C#はなんて楽なんだろう。」と感激したものだ。

でも、今そのコードを見てみると(懐かしい&恥ずかしい)、パターンの乱用により不必要な複雑性をつくりこんでいる部分が多かった。きっと、パターンを覚えたてだったんだろな(笑)

そこで、最初のイテレーションのストーリーは大掛かりなリファクタリングと、リファクタリング後のコードに対してのドキュメント作成だけにした。これによってチームのメンバーは、このソフトの仕様に対する理解が深まったし、後続のイテレーションでの改修作業が楽になった。そして何より最初のイテレーションで新しい機能が何も実装されないことに対する理解を示してくれた顧客に感謝したい。

今日、ようやく3度目のイテレーションが終了した。来週のイテレーションでラストリリースになる。あとひとふんばりなので頑張ろう。改修後には次のステップとして.NETへの移行が待っているが、今回の作業が大いに役に立ってくれることに違いない。

#VB6のMSDN Subscriptionでの提供の終了日が今回のプロジェクトのラストリリースの日。VB6よ、さようなら。