見出し画像

【Tips05】単純ミスを特定し、学習のムダを省く

 プログラミングのエラーについて、学び始めた方が知っておくべき重要なことがあります。それは、エラーの多くが単純なミスであることです。単純なミスとは、例えば以下のようなものです。

  • スペルミス

  •  スペースの半角を全角を間違える

  •  カッコ”()”が多い、もしくは少ない

  •  大文字と小文字の区別ができていない

  •  セミコロン”;”などの記号忘れ

  •  インデントが不正確

「こんな単純なミスをするわけがない」と思うかもしれませんが、十分な経
験がある人でも犯してしまうことがあります。

ChatGPTに単純なミスを見つけてもらう

 プログラムは1文字間違えるだけで動かなくなることも多く、厳密さが求められます。しかも厄介なのが、このようなミスは強調スタイルにということです。単純なミスだと気づかずにエラーの原因を探して、迷路に迷い込むように時間をかけてしまうことはよくあります。このようなミスもChatGPTにコードを渡せばすぐに気づいてくれます。

上記のコードがエラーになる原因を教えてください。

《プロンプト例》

提供されたコードでエラーが発生する原因は、print(i) のインデントが不適切であるためです。Pythonでは、インデント(空白またはタブによる字下げ)はコードのブロック構造を定義するために非常に重要です。
以下のようにコードを修正することで、エラーを解決できます:

この修正により、print(i) は for ループの内部として正しく認識され、コードは0から4までの数値を順番に出力します。

《ChatGPT回答》

 インデントの見落としやスペルミスなど、1文字違いのミスも検知し、修
正版のコードまで提供してくれます。このような単純なミスに時間をかける
のは非効率です。エラーが発生したら、まずは「どこかで単純なミスをして
いないか?」
と疑い、ChatGPTに原因を尋ねれば、あっという間に解決する
でしょう。

《コラム》効果的な問題の切り分け方法

【生成AI時代の学習マインドセット その3】
 エラーが発生したとき、「ここが原因じゃないか?」と仮説を立て、原因を探ることを「問題の切り分け」と呼びます。問題を切り分ける力はプログラミング学習、ひいてはそのスキルを活用していくうえでは重要です。例えば、前日まで動いていたプログラム・サービスが何もしていないのに、突然動かなくなったなどはよくある話です。

 プログラミング学習中にエラーが発生したとき、まず単純なミスから疑うことも、この効果的な切り分け方法に沿ったアプローチです。例えば、動かなくなったサービスに関しては、以下のようなことを疑ってみるとよいでしょう。

  • 他の誰かが誤って修正したのではないか?

  • ( 何もしていないと勘違いしていたけれど)昨日自分が修正したのではないか?

  • ( 前日まで動いていると勘違いしていたけれど)昨日も動いていなかったのではないか?

 単純な原因は「そんなわけない」と見過ごしがちなので、反対にそこに原因があるときに原因究明に多くの時間がかかってしまうことが多いです。

 ChatGPTを使って多くのエラーと対峙して問題の切り分け方法を磨いていくと、学習効率はどんどん加速していくでしょう。


【発売前公開】「ChatGPT×プログラミング勉強法」を20,000文字だけ公開します

目次はこちらから

ご購入はこちらから


この記事が気に入ったらサポートをしてみませんか?