始めに
こんにちは〜まんじです。
今回はプログラミングでエラーがつらい時とかエラーがきつい時の対処法について書いてみたいと思います。
プログラミングやってると基本的にエラーらへんとはずっと向き合い続けることになるので、その時のメンタルの保ち方っぽいやつです。
個人的にはここらへんの解決策というか方法というかメンタルケアに落ち着いています。
- 定期的に立ち上がったり歩いてリフレッシュする
- 落ち着いて1個1個エラー文を読みながら進める
- 分からない部分を人に質問する感じのテイストで文章に起こしてみる
- 紙に1個1個かみくだいて書き出す
- 10分ぐらい筋トレする
別に特殊な方法はないものの、何気に大事というか、ずっと座って興奮してデバッグしまくったりググったりAIしまくると視野も狭くなるってのがあるんでちょいちょい精神的な工夫するのが大事な気がします。
全部なんていうか、「1つ1つ言語化して、落ち着いてやる」みたいなところに落ち着く気がしています。
ただ、、、最近だととりあえずAI(ChatGPT)に聞くのはめちゃくちゃ有効です。
まずChatGPTに聞いてから、そこからこの記事に書いてある内容とかをやるといいかも。
1個目: 定期的に立ち上がったり歩いてリフレッシュする
プログラミングしてると基本的に座りっぱなしになって血行?血の巡り?とか含めていろいろと脳にも身体にもメンタルにも良くなさそうなので、定期的に立ち上がったりするとリフレッシュできる確率が高いです。
特にエラーにハマってつらいみたいな時は立ち上がったりちょっと歩き回ったりストレッチしたりトイレ行ったり手洗ったり歯を磨いたりする人間的な行動が何気に効くが気がしています。
なんだかんだで歩いてる時とか手洗ったり歯磨いたりしてると、「あれってもしかしてこうなんじゃね?」みたいな解決するためのアイデアがわいてきたりすることも多いかなーと個人的に思ってます。
プログラミング始めて最初の頃のほうがプログラミングのエラーがつらくて興奮しがちですけど、落ち着いてややゆっくりめぐらいのペースでやるほうがちゃんと脳みそも働いて結果的に早く進むことも多いです。
自分は定期的に立ち上がるとかのレベルじゃないぐらい頻繁に立ち上がって安いコーヒーを作って身体につっこむみたいな作業をしながらエラーについて考えたり実装手順とかやることとかを考えたりしています。
エラーにハマったらとりあえず立ち上がって考える作業をするのは、普通に良い感じだと個人的には思ってます。
2個目: 落ち着いて1個1個エラー文を読みながら進める
エラーが出た時に「とりあえずまずはエラー文を読む」みたいなやつで、これをゆっくりめに落ち着いて1個1個丁寧に読んでいくとつらみが多少減るかもしれません。
慣れてくるとよく見るエラーは一瞬で原因が分かるようになるのと、これも慣れてくるとなんですけど、大体エラーの内容でどこが原因っぽいかもすぐ見つけて把握してググるなり問題の原因特定ができるようになります。
あと最近だったら「なんだこれ?」って思ったら、とりあえずAIにつっこんで聞いてみて考えるってことも手段の1つになります。
ただなんにせよ、エラーがつらいな〜って時こそ、大雑把にやりすぎないで1個1個丁寧に読み進めるイメージでやるのが大事というか、その方がつらくなく進む確率が高いです。
ゆっくり早くやる、みたいな感じというか、ゆっくり1つ1つやるほうが結果的に早いみたいなのが定番です。
3個目: 分からない部分を人に質問する感じのテイストで文章に起こしてみる
これは自分がインターンしてた頃によくやっていたというか、「分からないし人に聞いてみちゃお〜」って時にやってたら思ったよりもエラーの解決に貢献した方法なんですけど、
「分からないところの要点を人に質問するように1回文字にしてみる」
ってのが何気にエラー解決の有効な手段になりました。
厳密にはエラーそれ自体が解決できるわけじゃないんですけど、分からない部分の要点を自分で1個1個整理していくことで、点と点がつながるじゃないですけど、解決の糸口がひらめいちゃった、、、みたいなイメージです。
- こういうことをしていて
- こういう部分でハマっている(エラーが出ている)
- 具体的にはここがこうなってこうだから動かない
って感じの箇条書きで文字に起こしてみると、「なんかここっぽいぞ?」とか気付く、、、って感じです。
自分はインターンしてる頃に「人に質問してやるぜ!」って思って文字にしてたら「あれ?こうっぽくね?」と気付いて自己解決するみたいなことがめちゃくちゃあったので、この技は結構使えると思っています。
文字にして他人に伝えようとすると、1個1個要点を整理して、何が分からないのかを把握できるのが多分この「文字にする」の威力なのかなーって思います。
4個目: 紙に1個1個かみくだいて書き出す
ペン使って実際に紙に書いて要点を整理していくとかも結構有効で、むしろ最も頭を整理してくれるんじゃないか説があると言っても過言ではない行動だと思います。
パソコンで文字にするのも十分ではあるんですけど、紙でペン使って因果関係みたいなところを実際に書き出すと、頭が整理される感が強めです。
ただ実際やると普通にめんどくさいので、結構エラーにハマりにハマった時にだけやるといいのかもしれません。
文字にするというか、図にする、みたいな感じ。
脳科学は知らんですけど、脳科学的にも効果はありそう。
自分はデータベースのテーブルのリレーションとかを把握する時にたまに図というか関連図っぽいものを書いて考えてみたりすることも多いです。
10分ぐらい筋トレする
「筋トレとか何アホなこと言ってるんだハゲが!」って感じなんですけど、筋トレしてから3~4時間後くらいは脳がクリアになって捗るみたいなことはよく言われるし、自分も実感しています。
「エラーがつらい」とかのややメンヘラな心にもわりと効く確率が高いので、個人的には激しくおすすめです。
継続するのは実際問題結構難しいですけど、1日10分やってるとやらない時よりも明らかに捗る確率が高いことはもう自明の理って言っていいぐらい効果がある技だと自分は信じてます。
めちゃくちゃ良いんだけど、ふとしたキッカケで習慣が途絶えがちでもあるってのはあります。
プログラミングをなんらかの要因で(仕事などで)時間決めてやってる場合は、休憩時間の10分だけ筋トレするとかでも結構有効カナーとは思います。
自分なんかもリモートで稼働して休憩時間のうちの10分だけYoutube見て筋トレしてから水シャワーあびるみたくしてから、究極に捗るというか、明らかにメンタルも良くなってるのを感じています。継続できるかは謎だけど継続する必要がある。。。
8時間の仕事とかだったら5時間やって筋トレしてシャワーすると、残り3時間はクソイージーモードというか、作業してる気がしないレベルに精神的に楽です。集中できるって表現ができます。
あとどうでもいいですけど、1日10分でも筋肉は結構つきます。
まとめ
エラーがつらい時〜ってことだったんですけど、結局のところ1個1個落ち着いて処理していくのが最も有効な手段になると思います。
そのための手段として定期的に立ち上がったり、1個1個読んだり、1個1個噛み砕いていったり、、、という作業をゆっくりめにやるとまあまあ捗る感があります。
個人的にはエラーにハマった時に限らず、定期的に立ち上がってコーヒーいれたり水に氷をぶちこんで飲んだり、突っ立って考えたり、「これがこうだから〜」とかブツブツ言いながらやると捗る気がしています。
よく言われるプログラミングしてる時間のうち実際にコード書いてるのは半分だか何十%だか、、、みたいなやつは結構当たってると思います。
パソコンの前でコード書いてる時間ってのはあくまで作業で、その前の頭の中で考える、、、みたいな作業が実際は核となる部分かな〜とか思ったりします。
ということで、終わりなのでよかったら他の記事もぜひ!