В PHP есть ли преимущество отделения прибыли от расчета? - PullRequest
2 голосов
/ 06 мая 2011

В PHP у меня есть функция обратного вызова, использующая preg_match() (точное содержание не имеет значения, я думаю).

Лучше ли вычислить результат и присвоить переменной, а затем вернуть эту переменнуюили я должен просто вернуть результат?

Другими словами, лучше ли это сделать:

function a() {
   $result = preg_match();
   return $result;
}

или

function b() {
   return preg_match();
}

Я думаю вусловия стиля кода и производительности.Есть ли какой-то стандарт, которому я должен следовать или он действительно не важен?

Ответы [ 3 ]

7 голосов
/ 06 мая 2011

С точки зрения производительности между этими двумя случаями нет никакой разницы.

Что касается стиля кодирования, то это вопрос личных предпочтений. Лично я бы выступил за второе, так как оно чище и легче для чтения, но я не думаю, что кто-то может обвинить вас в любом случае.

2 голосов
/ 06 мая 2011

Было бы микроскопическое снижение производительности для создания экземпляра переменной $ return, но это не будет заметно в любой практической ситуации. Как правило, я бы сделал прямой возврат, если бы мне не пришлось иметь дело с этим значением в дальнейшем.

2 голосов
/ 06 мая 2011

Лично я пытаюсь вернуть переменную, так как часто хочу записать эту переменную где-нибудь во время отладки или, по крайней мере, сделать ее доступной для print_r или assert, когда что-то пойдет не так. Я также склонен делать такие вещи, как

$foo = step1($foo);
$foo = step2($foo);
$foo = step3($foo);
return $foo;

со строковыми манипуляциями, а также когда я думаю, что требования могут измениться. Этот стиль позволяет легко комментировать / раскомментировать обработку.

В общем, я пишу код для ясности и самодокументирования, но также стараюсь предвидеть, как все может измениться, и поэтому реализую вещи так, чтобы воздействие было минимальным.

...