こんにちは! ココナラでフリーのプログラマーとして活動しているmei_13と申します。
現在はプログラムの開発に加え、Pythonのレッスンも行っております。
さて、今回のお話は「デバッグの極意」についてです。
「デバッグ」というのは、プログラムの動作確認をしながらエラーチェックをし、修正していく作業のことです。
プログラムのエラーに出会ったとき、どうやって解決したら良いかというのをご紹介していきます。
(1) エラー文を読む
エラー文は大体英語だと思いますが、英語がわからない場合は翻訳機にかけるなどして大まかに内容を捉えましょう。
また、エラーの発生した行数が指摘される場合がありますので、その箇所を把握しましょう。
スペルミスなど簡単なエラーはここで解決します。
(2) エラー文をネット検索にかける
実はこれがものすごく有効です。特に正しく書けているはずなのに発生するエラーに対しては驚異的なほど有効です。
一度は試してみましょう。
ライブラリの互換性の問題やデバイス依存のエラーの場合はだいたいがここで解決します。
(3)printデバッグをする
printデバッグというのは、プログラムのところどころに変数のprintをかけてチェックしていくという方法です。
どこまで実行できているか確認する際にもよく使われます。
原始的ですが、超重要なテクニックです。
ほとんどのエラーがここで解決します。
(4) メモリチェック
ここまでデバッグしても解決しないという場合は、ほとんどの場合がメモリ確保の問題で発生しているエラーとなります。
大量のデータを扱いオーバーフローしている場合や、C言語などでメモリアロケーションに失敗している場合に最終手段としてデバッガーを使ったメモリチェックをします。
正直あまりここまでは到達したく無いですね。
いかがでしょうか。この流れでデバッグすればだいたいの場合はエラーに対処できるはずです。
デバッグで大事なことは、「考える前に手を動かす」ということです。
画面の前で考え込んでしまうと、いつまで経ってもエラーが解決しません。
また、普段からわかりやすいソースコードを書くことを心がけておくということも大切です。
部屋がもので溢れていて整理できていないと、ものを無くした時に見つけるのが大変だよ、ということですね。
以上、デバッグについての話でした。
私のレッスンでは、エラーごとに具体的なデバッグ方法を提示する、ということをやっております。
ワンランク上のプログラマーになりたいという方、ご相談お待ちしております!