最近、いいアイデアがあってつくっていた (いる) アプリケーションがあったのだけど、あたらしくおもしろそうなアイデアが出てきて、それは既にできているコード基盤をそのまま使って実現するには難しそうだった。要するにほぼスクラッチから書き直すことになりそうだった。

そこまで完成に近かったわけではなく、むしろ全体の1/3くらいの出来だったんだけど、スケールしない設計をしていた。とにかくさくっと作ってしまうことを目的として敢えて冗長性とかを排したんだけど、結果として裏目に出た形になる。

いや、書き直す必要はなさそう。コード自体は流用できそうだけど、要するにコードの先に見出していたデザイン、骨格が自分の中でスケールできなさそうなのだ。今ある小さくまとまったデザインを払拭したい。

小さいというと、では新たに得たアイデアがより大きなものに感じられるかもしれないからこれも適切じゃない。木の棒があったとして、これは棒なのだから殴ったり支えたりするために使う、と言われてそう使いつづけたらそういうものとしてしか扱えなくなってしまうようなもので、たとえばいくつかの木の棒を組み合わせてスリングショットをつくるとか、そういう発想は出てこないかんじに似ている。固定された概念、ものの見方。

けっきょくコードに執着、固定されているというよりコードに込めた、宿った自分の古いアイデアに囚われているだけなのかもしれない。

それが悪いことだとか良いことだとか、という判断はするつもりはないけど、しかし思ったよりも自分の柔軟性のなさみたいなのには呆れる。