1

私は疑問に思っていました.PHPには、毎回呼び出されるわけではない関数がいくつかありますが、ロードのたびにファイルに含まれています。その時点で関数を呼び出さなくても、コードは実行されますか? 私が尋ねている理由は、関数内のコードは CPU を賢く実行するのに費用がかかるため、毎回それらを呼び出すわけではなく、呼び出されていない場合は関数内でコードを実行しないことを確認したいからです。

ありがとうございました

4

1 に答える 1

3

つまり、明示的に呼び出されていない関数は実行されません。ただし、ここでは、私が見つけた関数を使用する理由とその理由を簡単に説明します。

関数は、プログラムの一部をロックした「ブラック ボックス」です。関数の背後にある考え方は、プログラムの一部を区分化することであり、特に、関数内のコードにはいくつかの有用なプロパティがあるということです。

  1. プログラムの他の部分に役立つ、明確に定義されたタスクを実行します。

  2. 他のプログラムにも役立つかもしれません。つまり、再利用できる可能性があります (そして、書き直す必要はありません)。

  3. プログラムの残りの部分は、関数の実装方法の詳細を知る必要はありません。これにより、プログラムの残りの部分を考えやすくなります。

  4. 関数はそのタスクを適切に実行します。呼び出し元のプログラム (または他のプログラム) が後で追加の機能やパフォーマンスの向上を必要とする可能性があることを想定して、それを呼び出す最初のプログラムで必要とされるよりも少し多くのことを行うように記述されている場合があります。(完成した関数が適切に機能することが重要です。そうしないと、関数を呼び出すのがためらわれ、再利用性の目標を達成できない可能性があります。)

  5. 有用なタスクを実行するコードを関数に配置し、タスクを実行する必要があるプログラムの他の部分で関数を呼び出すだけで、プログラムの残りの部分がより明確になります。タスクが実行されるたびに繰り返されるコードの断片を理解するために、単一の単純な関数呼び出しがあり、関数の名前がどのタスクが実行されているかを思い出させてくれます。

  6. プログラムの残りの部分は、関数がどのように実装されているかの詳細を知る必要がないため、プログラムの残りの部分は、関数が後で別の方法で再実装されても気にしません (その関数を実行し続ける限り)。もちろん、同じタスクです!)。これは、プログラムの一部を書き直して、パフォーマンスを改善したり、新しい機能を追加したり (または単にバグを修正したり) しても、プログラムの残りの部分を書き直す必要がないことを意味します。

関数は、ソフトウェアの複雑さとの戦いにおいておそらく最も重要な武器です。処理を関数に分割するのが適切な場合 (およびそうでない場合) と、上記の品質 (再利用性、情報の隠蔽、明快さ、保守性) を最適に達成するために関数インターフェイスをセットアップする方法を学習する必要があります。

http://www.eskimo.com/~scs/cclass/notes/sx5.html

于 2013-02-28T13:52:37.057 に答える