破壊と創造

何だか哲学的なタイトル。
当たらずとも遠からずかもしれないです。

ツールを作っていると「もっとこうすれば効率的だ」と気づくことが良くあります。
ここで取る道は2つ。

  • そのまま作る
  • 作り直す

どっちがいいかというと、そのときの状況で判断します。

「そのまま作る」と判断するのは…

  • プログラム再利用の予定が無い
  • リリースまでに時間が無い

という場合です。
逆に「作り直す」のは…

  • プログラム再利用の予定が有る
  • リリースまでに時間が有る

とです。

簡単にプログラムを「作り直す」と言っても結構大変です。
良く利用される部分を修正しようとすると、関連して修正する部分が増えます。

例えば小説を書いているとイメージしてください。

ずっと自分自身のことを「俺」って呼んでいた主人公がいたとします。
執筆中に呼び方を「私」に変更したとしますね。
ワープロで作っていたら、「置換」で一気に変更することはもちろん可能。
でも、「俺はやるぜ」というセリフは「私はやるぜ」に変換されます。
これはちょっと違和感がありますね。
それを「私はやりますよ」という感じで、関連する部分も修正しないといけないのです。

小説だと違和感ですみますが
プログラムは「動かない」「異常動作」という深刻な事態になります。

なので、プログラムを作りなすというのは結構「勇気」がいるのです。
気分は「破壊」です。それぐらい苦労して作ったものと決別する必要があります。

でも、作り直した方が後々の作業が楽なんです。
最初にしっかりと作り上げておけば、似たようなプログラムを作るときに応用できるからです。
応用できるミニツールが沢山あるほどに、作業効率は良くなってきます。

そのために「今作っているもの」だけではなく「これから作るもの」も意識しながら作ります。
まさに「創造」って感じです。

プログラム作りって一進一退することが多いです。
最初にしっかりと設計をしていても、アレコレと途中で思いつくことがあります。
時間と再利用の具合を計りながら、進むか退くか決めるのです。

「破壊と創造」なんだか壮大ですが、気分はまさにピッタリ。

結構プログラム作りは葛藤との戦いなのです。