1

PHP/Wordpressコードの奇妙なコーディングスタイルに気づきました。

1)関数の開始時に戻ります:

関数の開始時に返されるPHP/Wordpressコードを頻繁に目にすることに驚いています。例えば:

function dosomething() {
   if (!current_user_can($priv)) {
       return;
   }
   .... continued code

通常は良い習慣と考えられているものの代わりに使用されます。つまり、複数のリターンが発生することはめったにありません(基本的にはgotoです)。

function dosomething() {
    if (current_user_can($priv)) {
        ... do something
    }
    ... any finishing code
}

2) ifの括弧の欠如

他のほとんどの言語では、角かっこなしの1行のif / elseステートメントは、実際には実行されないときに追加の行が実行されるように見える可能性があるため、厄介/危険であると見なされます。しかし、これはPHP/Wordpressで何度も使用されています。

これらの異なるスタイルにパフォーマンス上の利点があるのか​​、それとも他の特定の理由で使用するのか疑問に思っていますか?

4

2 に答える 2

2

議論の余地があると思います。単一行の条件文に中括弧がない場合の処理​​の違いは非常に小さいため、パフォーマンスを向上させるために行われる可能性はほとんどありません。

関数の先頭に戻るのは、関数がその条件を満たさない場合にプロセスを実行することさえできないようにするためです。コードを見るとすでに知っているかもしれませんが、関数が返されるまで評価されるとは考えていなかったかもしれません。そのため、関数には、最初の条件の後には決して満たされない数十の条件が含まれる可能性があります。必要がなければ、それらを処理しても意味がありません。

ちなみに、これはワードプレスに固有のものではありません。私はそれが至る所でこのように行われるのを見てきました。

于 2012-10-31T00:58:45.687 に答える
1

パフォーマンスにも関係ありません。1つ目は、権限のないユーザーが関数内で処理できないことを保証するだけであり(例では、「...任意の終了コード」を実行しないようにするため)、2つ目は単純なif/elseステートメントのスタイル設定。

于 2012-10-31T00:55:53.393 に答える