デバッグ
でばっぐ
一言で言うと
プログラムのバグ(不具合)を見つけて修正すること。まさに「虫取り」作業。
もう少し詳しく
一言で言うと
プログラムのバグ(不具合)を見つけて修正すること。まさに「虫取り」作業。
もう少し詳しく
デバッグは、プログラムが思った通りに動かないとき、原因を特定して修正する作業です。語源は「de(取り除く)+ bug(虫)」で、昔のコンピュータに本物の虫が入り込んで故障した逸話に由来するといわれています。
料理に例えると、「レシピ通りに作ったのに味がおかしい」とき、原因を探す工程です。塩と砂糖を間違えたのか、火加減が強すぎたのか、材料が足りなかったのか…一つずつ確認していきます。
デバッグでは、プログラムを1行ずつ実行して変数の中身を確認したり、ログ(記録)を出力して処理の流れを追跡したりします。開発時間の半分以上がデバッグに費やされるとも言われています。
実務でどう使うか
コードで見てみよう
# バグのあるコード
def calculate_discount(price, discount_rate):
# 10%オフのはずが、全然違う結果に…
result = price * discount_rate # バグ: 引き算すべき
return result# デバッグ: printで値を確認する
price = 1000
rate = 0.1
print(f"price = {price}, rate = {rate}")
print(f"result = {price * rate}") # → 100(あれ?900になるべき)
# 修正後
def calculate_discount_fixed(price, discount_rate):
return price * (1 - discount_rate) # 正しい計算
print(calculate_discount_fixed(1000, 0.1)) # → 900 ✅