#5038

解決からの逆算


web制作

Webプログラミングをしていると、明らかな行き詰まりを感じることがあります。
これを実現するには大変面倒くさい大改修工事をしなければならないが、
もはや今日はそのやる気がない、どうしよう、といったような。
ところがそういった行き詰まりは
翌日になると思いがけない方向性によって解決を見ることが間々あります。
それは、「寝て起きたら面倒なこともやる気になった」といった精神的HPの話ではありません。
前日にやろうとしていたことをもう一度考え直してみると、
全然別の方向からもっともっと簡単な解決方法が見つかるんです。
PHPを主体とした特設サイトの改修をちょこちょこと二年弱続けてきて、
そんなことが一度だけではなくもう何度もありました。

例えば今回は、各ユーザーに新しく個別の変数をデータベースに記録することにしたのですが、
投稿のたびに変動するその変数をある時点ごとに記録する必要が出てきました。
前日時点では、「ある時点ごとにデータベースにカラムを挿入して、
変動値の格納とは別に『ある時点』になったら新規カラムにも記録する方法がいいのではないか」
と思い至ったのですが、「ある時点」は不定だし、
そのたびに手作業でカラムを追加していくのはあまりにも非効率的。
これは面倒くさいぞと匙を投げかけていたのですが、
寝て起きたらすぐに「『ある時点』かどうかはタイムスタンプから計算できればいいのだから、
スコア記録データベースに記録すればどうにでもなる」というところに行き着き、
あっさりと30分程度で解決・実装まで漕ぎ着けました。

発想の転換が行き詰まるほど難しくなってしまうのは、
「ここまで考えたのだからこの方向性でなんとしても解決したい」という未練故なのか、
あるいは趣味目的でも一日中作業していると脳が多角的なアイデアを出せないほど疲労するのか。
最近はこれは行き詰まっているな、
ということもなんとなく掴むことができるようになってきましたが、
それができない昔はプログラミングはまさに精神との戦いみたいなところがありました。
そしてそれはプログラミングに限った話でもなく。
例えば文章執筆作業でも似たようなところはありますね。

こういった発想の転換法を「寝て起きる」以外にする方法ってないのかなぁと思う今日この頃です。
と同時に、完成度を上げたいならやはり長めのスパンを取っておいて、
「明日の自分」に点検してもらう機会を多く作るのが良いのではないかなと。
まぁ、時間的余裕がある=発想の転換をしやすくなる、ではないと思いますけどね……。
むしろ今回は三連休で時間的猶予があるが故に「時間がかかっても解決したい」
という気持ちを後押ししてしまっていたような気も。
これが完全に期日が決まっていて、その直前だったりしたら
一つの方向性に無理にこだわっている場合でもなかったでしょうし。

まぁ、この辺の心構えみたいなものをプログラミング作業から学べればいいなと。
その前にWebプログラミングの基礎をさっさと固めろよという話ですが……。

0

コメントを残す