防衛的プログラミングとは
防御的プログラミングは、問題が発生する前に問題を回避し、製品をより安定させるために設計されたコンピューターソフトウェアのコードの作成です。 このアプローチの背後にある基本的な考え方は、予期しないプロセスやユーザーが予期しないエントリを行った場合でも適切に実行できるプログラムを作成することです。 防御的なプログラミングは、多くの場合、不必要なコードを排除しながら、考えられるすべてのユーザーアクションを処理するのに十分な量を生成するという、逆説的な組み合わせに依存しています。 このプロセスでは、簡単に監査および確認できるソフトウェアの作成と同様に、広範なテストも重要です。
多くの点で、防御的プログラミングの概念は、問題が発生する前に考慮されるという点で、防御的駆動の概念によく似ています。 これを実行するための一般的な方法の1つは、スローされる可能性のあるシナリオを処理するためのコードの作成です。 プログラマーは通常、ユーザーが入力を入力する可能性が高い方法を決定しようとするか、予想されるパラメーターの範囲外のソフトウェアを使用しようとします。 防御的プログラミングの使用は、コード自体の基盤に基づいて構築されています。コード自体は、クラッシュしたりエラーイベントに遭遇したりすることなく、奇妙な入力を処理できるように設計されています。
しかし、この防衛的プログラミングの要素とは一見対照的に、よく書かれたコードには不要なエントリがないようにする必要があります。 プログラムの一部であるコード行が多いほど、エラーが発生する可能性が高くなります。 防衛的プログラミングの実践では、通常、開発者が不要なコードを排除し、可能な限りプログラムを合理化することを奨励しています。 そのため、予期しないシナリオを考慮したプログラミングと、不要なコンテンツを多く含む利点のないコードとのバランスをとる必要があります。
テストは、防御的プログラミングの最も重要な側面の1つです。 コードの完全性を確保するために多大な労力を費やしましたが、開発者はほとんどの場合、ミスを見逃したり、予期しない結果のコードを作成したりします。 プロのテスターによる徹底的なテストにより、開発者はソフトウェアをリリースする前に何百時間も製品を使用してエラーを見つけることができます。
防御的なプログラミングで作成されるコード自体も、このプロセスの重要な側面です。 できるだけ合理化するだけでなく、明確で簡潔な方法で提示する必要があります。 開発者は、作成されたコードをレビューするために監査をよく使用します。 これにより、他のプログラマーが行った作業を確認できます。また、開発の現実的な部分であるためには、読み取り可能なコードが重要です。