本文へスキップ

コーディング沼り解消3ステップ

本業でWordPressのカスタマイズをPHPで書いていたとき、朝からずっと同じ箇所で詰まっていたことがあります。解決したのは17時でした。1日のほとんどを1つのエラーに使ったことになります。

とことん沼った割に、原因は単純なことだったりします。あのときもそうでした。

沼る時間をどれだけ減らせるかで、1日に進む量は全然変わってきます。去年の8月は副業で37案件を対応しましたが、あれができたのも沼らなかったからだと思っています。僕が詰まったときにやっていることを、コード例とあわせてそのまま書きます。

そもそも「沼る」とは何か

コーディング中の「沼る」は、同じ場所で同じ試行を繰り返して、時間だけが過ぎていく状態のことです。時間の感覚が飛ぶ。同じ検索ワードで同じ結果を眺め続ける。焦って視野が狭くなる。このあたりが揃ってきたら、たぶん沼っています。

やっかいなのは、沼っている本人が「もう少しで解ける気がする」と思い続けてしまうところです。実際には解決に近づいていないのに、30分、1時間と粘ってしまう。納期が押せば、クライアントからすると「まだできていないのかな」という状態が続くことにもなります。

コーディングで詰まったときの沼り解消3ステップ

ステップ1|手を止めて「何がわからないか」を言葉にする

最初にやるのは、キーボードから手を離して、今詰まっている内容を文章にすることです。沼っているときの頭の中は「なんか崩れてる」「なんかエラー出る」くらいの解像度です。そのままでは検索ワードも質問文も組み立てられません。一度言葉にすると、問題の輪郭が出てきます。

3行メモの書き方

僕がよく使うのは「3行メモ」です。テキストファイルでもコメントアウトでも付箋でも構いません。

■ やりたいこと
 ヘッダーのロゴを中央寄せにして、右側にナビを横並びで置きたい

■ 今起きていること
 ロゴが中央に寄らず、ナビも縦並びになってしまう

■ 試したこと
 ・親要素に display: flex を指定した
 ・justify-content: center を指定した
 ・ナビの ul に display: flex を追加したが変化なし

これを書くだけで、検索に使える具体的なワードが自然と出てきます。「ヘッダー ロゴ 中央寄せ flex」のように、漠然とした「なんか崩れてる」よりずっとヒットしやすくなります。

詰まりポイントをコメントで整理する

コード側にも手を入れると、さらに見通しが良くなります。詰まっている箇所の上下にコメントを入れて、自分の予想と現実のズレを書き出します。

/* 期待:.header の中で .logo が中央、.nav が右に来る */
/* 現実:.logo が左に寄ったまま、.nav が下に落ちる */
.header {
  display: flex;
  justify-content: center; /* ← これで中央になるはず? */
}

.nav {
  /* display: flex を入れると横並びになるはずだが効かない */
}

コメントの書き方に決まった型はないので、深く考えなくても、思ったことをそのまま書き込んで大丈夫です。

コメントを書いていると、「そもそも .nav の親は .header だっけ?」みたいな基本的な見落としに気づけます。

以前、スムーススクロールでヘッダーの高さ分を引くコードが効かず、まあまあ沼ったことがありました。ああいうときも、頭の中だけで考えているうちは同じところを回り続けます。

ステップ2|一度ブラウザを閉じて別のことをする

言語化しても糸口が見えないときの次の手は「離れる」です。同じ問題を考え続けると、見える範囲がどんどん狭くなります。一度離れて別の作業をすると、戻ってきた瞬間に「あ、あそこじゃん」と気づけることがあります。

以前、縦書きにしたときの表示崩れを調べても解決できず、その日は一度寝かせました。翌日にはあっさり解決できましたね!

5分〜15分のおすすめリセット方法

目安は5分から15分くらいです。長すぎると今度は戻れなくなるので、僕はタイマーを決めてから始めています。実際にやっているのはこのあたりです。

  • 席を立って水を飲みに行く、軽くストレッチをする
  • 窓の外の遠くを30秒くらいぼーっと眺める(目も休まります)
  • 洗い物や軽い家事を1つだけ片付ける
  • 別のタスクの簡単な部分を10分だけ進める

ポイントは、「考えるのをやめる」のではなく「別の軽作業に切り替える」ところです。詰まったコードを一度バックグラウンドに追いやると、別の角度から見られる状態になります。

やってはいけない「離れ方」

逆に、向いていないリセットもあります。代表的なのはSNSを開くこと。タイムラインを眺めると脳の別の部分が忙しく動いてしまって、リフレッシュになりません。

動画サイトも同じで、5分だけのつもりが30分以上になりがちです。戻ってきたときに「あれ、さっき何に詰まってたんだっけ?」となって、ステップ1の言語化からやり直すことになります。受け身で情報を浴びる行動は、沼り解消のリセットには向いていません。

ステップ3|調べ方と聞き方を変える

ここまでやって解けないなら、自分の前提そのものがズレている可能性が高いです。情報を集める入り口から変えていきます。

検索キーワードの組み替え方

沼っているときの検索ワードは、似た単語を少しずつ変えているだけになりがちです。思い切って切り口を変えると、違う情報源にたどり着けます。

【Before】同じ系統の言葉で粘る
・「flex 中央寄せ 効かない」
・「flex 中央寄せ できない」
・「css 中央寄せ うまくいかない」

【After】切り口を変える
・「flex container 子要素 並ばない 理由」(理屈を調べる方向)
・「display flex 親要素 指定 忘れ」(よくあるミスを調べる方向)
・"justify-content center not working"(英語で検索)
・エラーメッセージをそのままコピーして貼る

特に英語での検索は当たりが多いです!Stack Overflowなどの海外Q&Aサイトが上位に出てきて、同じ悩みに対する回答がまとまっています。翻訳ツールに通せば内容は十分読めます。

これはAIに聞くときも同じです。「1時間くらいずっとChatGPTに聞いてるんですけど解決しません」というご相談をいただくことがあります。

同じ聞き方で粘っている限り、返ってくる答えも似たものになります。3行メモの内容をそのまま渡すと、こちらの状況が伝わって答えの精度も変わってきます。

人に聞くときに添えるべき情報

調べても解決しないときは、先輩やコミュニティに聞く段階です。僕も「このエラーわからないんですが、アオイさんわかりませんか?」とご連絡をいただくことがあります。そのときいちばん助かるのが、ステップ1の3行メモがそのまま貼ってあることです。

【質問テンプレート】

お疲れさまです、ご相談させてください。

◆ やりたいこと
 ヘッダーのロゴを中央、ナビを右端に横並びで配置したい

◆ 今起きていること
 ロゴが左寄せのまま、ナビが縦並びになる

◆ 試したこと
 ・.header に display: flex と justify-content: center を指定
 ・.nav ul にも display: flex を追加
 ・参考URL:example.com/flex-centering-article

◆ 再現コード(最小セット)
 (ここにCodePenなどの再現URLを貼る)

わかる範囲でアドバイスいただけると助かります。

質問する側が情報を整理しておくと、答える側は推測する手間がなくなって、具体的な回答にすぐ入れます。

逆に「なんか崩れるんですが…」だけだと、相手も何から確認していいかわからず、やりとりが増えて時間がかかります。僕が答える側のときも、3行メモが貼ってあると回答までがかなり早いです。

沼ったときに使える「自分用チェックリスト」

ここまでの3ステップを、詰まった瞬間にパッと見返せるようリスト化しておくと便利です。僕はエディタのスニペットに入れたり、Notionやメモアプリに貼ったりしています。

  • タイマーで15分経ったら、一度必ず手を止める
  • 「やりたいこと/今起きていること/試したこと」を3行で書く
  • 検索ワードを、3行メモから作り直す
  • 5分〜15分、別の軽作業でリセットする(SNS・動画は禁止)
  • 検索の切り口を変える(理屈/よくあるミス/英語/エラー文コピペ)
  • それでも解けなければ、3行メモ+再現コードを添えて人に聞く

手元に置いておくと、沼りかけた瞬間に「今どこまでやった?」と自分に問い直せます。解き方を覚えるより、沼っていると気づけるほうが先だと思っています。

おわりに

詰まりを言葉にして、いったん離れて、聞き方を変える。ここまで書いてきたのはこの動きです。

これをやれば毎回すぐ解決するわけではないと思いますが、沼る時間を減らす手がかりにはなると思います。

次に詰まったら、ぜひ3行メモから開いてみてください!

Contact

お気軽にご相談ください

X(Twitter)のDM、もしくは本サイトのCONTACTページからご連絡ください。
24時間以内に返信しますので、些細なことでもお気軽にご相談ください。