デバッグし、テスト
文法エラー
構文法は声明の要素の文法、構造および発注を示す。 文法エラーは私達が規則を壊すと生じるセミコロンの声明を終えることを忘れていることのような。 プログラムを編集する場合、編集者は出会うかもしれないあらゆる文法エラーのリストを作り出す。
よい編集者は間違いの記述を含むリストを出力し、可能な解決策を提供するかもしれない。 間違いを修正することは表示されるそれ以上の間違いでリコンパイルされたとき起因するかもしれない。 これの理由は前の間違いがそれ以上の間違いが元の蓄積の間に抑制されたプログラム意味の構造を変えたことである。
同様に、単一の間違いは複数の間違いで起因するかもしれない。 正しく編集し、動くプログラムの主関数の終わりにセミコロンを置く試み。 それをリコンパイルする場合、間違いの巨大なリストを得る、今までのところではそれはただの置き違えられたセミコロンである。
文法エラーと同様、編集者はまた警告を出すかもしれない。 警告は間違いでなかったり、しかしあなたのプログラムの実行中に問題を起こすかもしれない。 例えば単一精密浮動小数点数に倍精度浮動小数点数を割り当てることは精密の損失で起因するかもしれない。 それは文法エラーでなかったり、しかし問題に導くことができる。 この特定の例では、適切なデータタイプに変数を投げることによって意思を示すことができる。
xが単一精密浮動小数点数である、yが倍精度浮動小数点数である次の例を考慮すれば。 yは編集者の警告を除去する割り当ての間に浮遊物に明確に投げられる。
x = (float)y;
論理エラー
論理エラーは論理に間違いがあると生じる。 例えば、数が4つよりより少しおよび以上の8であることテストできる。 それは多分本当でもよい構文上正しかったらプログラムは首尾よく編集する。 次の例を考慮しなさい:
if (x < 4 && x > 8)
puts("Will never happen!");
構文法は正しい、従ってプログラムは編集するが、xの価値が多分4つよりより少しおよび同時に以上の8であることができなかったので声明を決して印刷されない置かない。
ほとんどの論理エラーはプログラムの最初のテストによって発見される。 期待したようにそれがしないとき、論理的な声明を密接に点検し、訂正する。 これは明らかで論理的な間違いにだけあてはまる。 より大きいプログラム、より多くのそこの道はそれによってある、より困難にそれは予想通りプログラムはすることを確認するためになる。
|