到達不能コードが生まれる原因
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/04/28 05:23 UTC 版)
「到達不能コード」の記事における「到達不能コードが生まれる原因」の解説
以下では、到達不能コードが生じる原因をいくつか解説する。 ソフトウェア開発の際、プログラマは一時的にコードが実行されないようにすることがある(すなわち、明示的に実行されないように書き換える)。例えば、次のようなコードがある。 while (condition) { foo(); bar(); } ここで、一時的に bar() を実行しないようにしたい場合、例えば次のように書き換える。 while (condition) { foo(); continue; bar(); } この例では、bar() が到達不能コードになる(continue はループの次の反復に直ちに移行させる)。このような一時的な修正がリリース時まで残ってしまうことがある。 他の到達不能コードが生じる原因として、条件判断が冗長化している場合や、デバッグ用コードを削除せずに残してしまう場合がある。 関数やサブルーチンは、どこからも呼び出されない場合はデッドコードになるし、到達不能コードからのみ呼び出されている関数もデッドコードになる。 到達不能コードの存在は、プログラムの修正時の論理的誤りや、プログラムの前提や環境が大幅に変更されたことを示す場合もある。優れたコンパイラはデッドコードの存在を通知し、保守者がその意味を考えられるようにする。
※この「到達不能コードが生まれる原因」の解説は、「到達不能コード」の解説の一部です。
「到達不能コードが生まれる原因」を含む「到達不能コード」の記事については、「到達不能コード」の概要を参照ください。
- 到達不能コードが生まれる原因のページへのリンク