【初心者向け】バグ・エラー解析ってどうするの?

こんにちは、図体デカ目です。

プログラムを教えている方から記事タイトルのような質問がありました。

バグ・エラー解析ってしんどいですよね……。万能薬のようなものは当然、存在しませんが私がバグ・エラー解析をしているときに意識していることを質問者の方には伝えました。

○なぜバグ・エラー解析が必要か
前提:プログラムは完璧ではない
例:マイクロソフトのWindowsは定期的にアップデートする必要がある
→超絶出来るプログラマーがアプリを作っていても以下の3つの理由で何かしらの不具合が起きる。
①人的ミス(コード上)
②人的ミス(要件上)
③言語仕様上の問題

そして、プログラミングには万能薬のようなものは存在しない。
→プログラミングに銀の弾丸はない
→あるのは、コンテキストに支配された最適解のみ
※アップデート前提でアプリをリリースするような考え方はUNIX思想にも見られます※

○バグ・エラー解析で考えないといけないただ2つのこと
①バグ・エラーの原因をある程度予測する
→プログラミングはロジカルな推論ベースで組む
②自分がコンピュータよりも不正確であると自覚する
→あくまで推論なので絶対的に正しいということはありえない

○バグ・エラー解析で行う3つの手順
①再現する
→エラーを再現して現象を分析する
②動作している→動作していないに着目する
→動作している箇所と動作していない箇所に着目したり、nullが入りそうなところなどの怪しいところを徹底的に調べる。
③バグの種類分けを行う(上から順に解決が容易い)
Ⅰ,ロジック(プログラミングのソース上の話)
Ⅱ,データ(データベースの構造的な不具合)
Ⅲ,リソース(メモリやグラフィック、サーバーなど)
  1,コンフィグ周り(binやconfigフォルダなど)
  2,リソースの動作(osやCPUやメモリなど)

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