今日はちょっと視点を変えてプログラマーやプログラミングもするSEさんに向けての記事です。
バグでハマっている状況から抜け出す方法
プログラムを書いていていざ実行となるとバグが出て動かないというのはよくあることです。
バグが出ないで出来上がったら逆に怪しんだ方がいいくらい、開発をしている段階ではバグはつきものですよね。
バグが出たらエラーメッセージを見たり、プログラムによってはデバッグしてエラーが出ているところを見たりすれば解決すると思います。
ただ、どうしてもエラーの原因がわからず、バグにハマってしまって抜け出せないといった経験、一度や二度、もしくはそれ以上あるのではないでしょうか?
バグって一回ハマると本当に抜け出すのに苦労します。
エラーを一生懸命ググって同じ事象になって解決した記事とか読んで対応しても直らないとか、掲示板に相談してもなかなか解決できす、スケジュールに追われて焦って、さらにハマっていくとか、そんなこと経験したことないですか?
私はかなりありましたね・・・w
そこで、私、たくさんのバグを経験した結果、そこから抜け出す一番効果的な方法を生み出しました。
本日はそれをお伝えします。
バグから抜け出すステップ
まず、バグにハマったら抜け出すステップをお伝えします。
バグにハマってても一度家に帰り、次の日とかに対応すると以外にすんなり直ったりしたことってないでしょうか?

昨日散々やって直らなかったのがウソみたい・・・
これって一晩たって冷静になった結果、気づけなかったことに気づけたから解決できたのだと思います。
この「冷静になる」というのはキーですね。
人間冷静になって落ち着くと見落としていたものがちゃんと視野に入ってきます。
なので、バグにハマった場合、この順序で対応していくと抜け出しやすいです。
- 1.冷静になる
- これは先ほど言った通りです。
- 2.バグが出ているコードを特定する
- まずはどこまで正常に動いていて、どこからバグが発生しているかを特定します。これをしないと次に進めません。
- 3.いろいろな結果を出して動作検証してみる
- 完全にエラーが出てプログラム自体が動かないのであればコードの書き方とかに原因があります。動作はするけど、こちらが意図した値が出力されていない場合はどんな値なら意図した形で出力されるのかをいくつものパターンを出して検証していきます。
- 4.バグの前のデータを見てみる
- バグが出ている場合、大抵前提に不備があります。なので、バグに入る前のデータを検証して正常なデータなのかを確認します。
これをやると大体バグから抜け出せます。
でもバグが出ている時ってみなさんこんな感じで対応しているのではないでしょうか?
それでもハマって抜け出せなくなってしまう。
実はバグから抜け出せない根本の原因があります。
結論から言うと、バグにハマった時に発している言葉に原因があります。
バグから抜け出す言語パターン
バグが出た時って
- 『なんで動かないんだ』
- 『なんで出来ないんだ』
- 『どうしてバグがでてしまうのだろう』
- 『なんでダメなんだろう』
こんなことを思ったり、実際に言葉に出したりしていませんか?
実はこの時に使っている言葉がバグにハマってしまう一番大きな原因になっています。
どう言うことかと言うと、人間て自分の言った言葉に影響されるんですね。
言った言葉に意識がフォーカスし、その言った言葉通りに行動してしまいます。
例えば
『なんで動かないんだ』
と言うと、動かないにフォーカスして、プログラムが動かないことをやってしまうのです。

本当に?
と思うかもしれませんが、本当です。
意識的には解決するために一生懸命頭を使っているかと思いますが、実は人間の脳みそって優秀なようであまり優秀でないのです。
ちょっと実験してみますね。
ではいきなりですが、
ピンクの像を想像しないでください。
・・・
はい、どうでしょう?
おそらくあなたはピンクの象を一回頭に思い浮かべて消したのではないでしょうか?
このように脳みそは言われたことをイメージします。
さらに脳科学の分野では脳は「しないでください」といった否定語は理解しないと言われています。
なぜ否定語が理解出来ない理由は「脳 否定語」とかで検索するとたくさん出てきます。
ピンクの象の例も調べるといろいろな人が使っています。
なのでバグが出て、
『なんでうまく動かないんだ』
と思ったり、自分の言葉で発言してしまうと
という言葉を強く意識してしまいます。
なので、無意識に、プログラムが動かない結果に行動してしまうのです。
バグから抜け出す言葉
人間の脳みそは否定語を理解せず、言われたことをそのまま行動に移してしまいます。
そうだとしたら、バグから抜け出すにはこの
- 『なんで動かないんだ』
- 『なんで出来ないんだ』
- 『どうしてバグがでてしまうのだろう』
- 『なんでダメなんだろう』
とは逆の言葉を使っていけばいいのです。
つまり、
- 『どうやったらプログラムが正常に動くのか』
- 『どのように修正したら正常に動くのか』
- 『どのように対応すれば私が欲しい結果がでるのか』
こんな感じで、動く前提、できる前提の言葉使いをするとバグから抜け出せます。
本当に?
そう思うかもしれませんが、ぜひ一回やってみてください。
バグが出た時に
『どうしたらプログラムが正常に動くのかな?』
と自分に問いかけてみてください。
何回か問いかけていくうちに冷静になって、自分の思考が解決に向かっていくのがわかり、視野が広がっていくことを感じます。
また、この言葉使いって別にバグにから抜け出すためだけに使える言葉ではありません。
なんでもいいのですが、何かうまく言ってない時、例えばダイエットをしているのに、なかなか痩せないときとかにも使えます。
『なんで痩せないんだろう?』
と思うのではなく
『どうしたら後3キロ痩せるのだろう?』
こんな感じで、出来ていないことにフォーカスするのではなく、どうしたらうまくいくのかにフォーカスして言葉を作ってみてください。
今と違った効果が出ます。
それではまた!