ああああああああわかんねぇぇぇぇぇ!!!

エラーが消えねぇぇぇぇ!!!!

...と発狂しかけるのは、プログラマあるあるです。

そんな時に効果的な方法をいくつかご紹介しましょう。



対処法

質問する

めちゃくちゃ普通の対処法ですが、ここがわからないんです...と質問を投げることで解決に向かいやすくなります。

詳しい人に教えてもらえるから解決する、というだけではなく、不思議なことに、質問を投げた直後、回答をもらう前にいきなり自己解決することが少なくないんですよね。

質問した直後にIQ2000くらい上がるのかな。
そんなことないか。

多分、頭の中でぐちゃぐちゃになっている部分を、質問というスッキリした形にまとめた時に、自分の実装の矛盾に気づきやすいようです。



ぬいぐるみに相談する

太陽の塔のぬいぐるみ
本日の相談員。

...いや違うのヤバいやつじゃないの待ってブラウザ閉じないで。


今起こっているエラーや実装状況を他人(ぬいぐるみ)に説明しようとした時、上に書いたように、言語化することで、客観的に現状を捉えることができるんです。

ここがわからなくてね、今こういうエラーがあってね...とぬいぐるみに向けて喋っていると、あ、ここを見直せばいいんだ、と天啓のように閃きやすいんです。

難点は側から見て怪しいことですが、一人開発している人にオススメしたい手法です。

※誰もいない部屋でやることを推奨します



床を掃除する


我が家では16時に床掃除をすると決めているのですが(謎ルール)、どうしても行き詰まってわからない、というタイミングが来たら、16時前でもおもむろに床を掃除し始めます。


すると、もう一回パソコン前に座った時に、アイデアがポンと浮かぶことがあるんですね。
床が綺麗になると、頭の中もスッキリするらしい。

まぁ要するに、煮詰まったら席を離れて気分転換が大事、ということですね。



寝る

寝て起きたら、翌日スルッとできることがあるんですよね。

これも不思議。

眠って頭がリセットされると、別の角度から問題を見られるようになるのかもしれません。



それでもダメなら

一歩引いて代替案を考える

これだけ色々してみても、どうしても解決できない...ということもあります。そんな時は、

実現したいことは、別の方法で実現できないか?

今使っているものとは別のライブラリを使えないか?

そもそも、その機能は本当に必須なのか?

などと考え直して、今固執している問題から、一歩引きで見てみるのです。


目の前のエラーや問題自体を解決する以外に、本質的にやりたいことを実現できる道があるなら、そちらを選んでもいいんですね。

(これって、心の話にも通じる考え方かもしれないな、と思う)



まとめ

開発で行き詰まった時の対処法をまとめてみたお話でした。

みんなもやってみーてね!\( 'ω')/