IT基礎

バグ

初級

読み方:バグ|英語:Bug

プログラムの間違い・不具合のことで、英語で「虫」の意味だよ。

やさしい説明

バグとは、プログラムの中の間違い(不具合)のことです。コードにバグがあると、プログラムが期待通りに動かなかったり、エラーが出たり、突然止まったりします。

語源は本物の「虫(bug)」です。1947年、初期のコンピューター「Mark II」に蛾が挟まって誤作動を起こした実話が由来とされています。そのときのエンジニアが「バグを発見した」と記録したことから、プログラムの不具合を「バグ」と呼ぶようになりました。

バグはどんな熟練したエンジニアでも作り込んでしまうものです。大切なのはバグをゼロにしようとすることではなく、早く見つけて直す(デバッグする)仕組みを整えることです。

バグの主な種類

  • タイポ(スペルミス):変数名や関数名のスペルを間違えた。例:documnet(documentのミス)
  • ロジックバグ:条件分岐や計算式が間違っている。「以上」と「より大きい」を混同するなど
  • オフバイワン:ループの回数が1つズレている。配列の最後の要素を取り逃がすなど
  • ヌルポインタ参照:存在しない値(null/undefined)にアクセスしようとしてエラーになる
  • 想定外の入力:ユーザーが予期しない値を入力したときの処理が抜けている

具体例

以下はよくあるバグのサインです:

  • ボタンを押しても何も起きない
  • 計算結果がおかしい(合計が合わないなど)
  • ページのレイアウトが崩れる
  • 特定の条件のときだけエラーが出る
  • 同じ操作なのに毎回結果が違う

バグを見つけたら、デバッグという作業で原因を特定して修正します。

よくある疑問

Q: バグをゼロにすることはできる?

A: 完全にゼロにするのは非常に難しいです。大規模なソフトウェアにはほぼ必ずバグが残っています。テストを書いて早期発見し、修正サイクルを回すことが大切です。

Q: バグとエラーの違いは?

A: エラーはプログラムが異常を検知して止まること。バグはその原因となるコードの誤りです。バグがあっても即エラーにならない場合もあり(見えないバグ)、逆にエラーが出て初めてバグに気づくこともあります。

Q: バグはどうやって防ぐ?

A: コードレビュー(他の人にチェックしてもらう)、テストコードを書く、コンソールで値を確認しながら実装するなどの方法があります。

関連用語

📖 関連レッスン

レッスンを見る →

関連ブログ記事

❓ 関連するQ&A