破壊と創造
何だか哲学的なタイトル。
当たらずとも遠からずかもしれないです。
ツールを作っていると「もっとこうすれば効率的だ」と気づくことが良くあります。
ここで取る道は2つ。
- そのまま作る
- 作り直す
どっちがいいかというと、そのときの状況で判断します。
「そのまま作る」と判断するのは…
- プログラム再利用の予定が無い
- リリースまでに時間が無い
という場合です。
逆に「作り直す」のは…
- プログラム再利用の予定が有る
- リリースまでに時間が有る
とです。
簡単にプログラムを「作り直す」と言っても結構大変です。
良く利用される部分を修正しようとすると、関連して修正する部分が増えます。
例えば小説を書いているとイメージしてください。
ずっと自分自身のことを「俺」って呼んでいた主人公がいたとします。
執筆中に呼び方を「私」に変更したとしますね。
ワープロで作っていたら、「置換」で一気に変更することはもちろん可能。
でも、「俺はやるぜ」というセリフは「私はやるぜ」に変換されます。
これはちょっと違和感がありますね。
それを「私はやりますよ」という感じで、関連する部分も修正しないといけないのです。
小説だと違和感ですみますが…
プログラムは「動かない」「異常動作」という深刻な事態になります。
なので、プログラムを作りなすというのは結構「勇気」がいるのです。
気分は「破壊」です。それぐらい苦労して作ったものと決別する必要があります。
でも、作り直した方が後々の作業が楽なんです。
最初にしっかりと作り上げておけば、似たようなプログラムを作るときに応用できるからです。
応用できるミニツールが沢山あるほどに、作業効率は良くなってきます。
そのために「今作っているもの」だけではなく「これから作るもの」も意識しながら作ります。
まさに「創造」って感じです。
プログラム作りって一進一退することが多いです。
最初にしっかりと設計をしていても、アレコレと途中で思いつくことがあります。
時間と再利用の具合を計りながら、進むか退くか決めるのです。
「破壊と創造」なんだか壮大ですが、気分はまさにピッタリ。
結構プログラム作りは葛藤との戦いなのです。