Подтвердить что ты не робот

В PHP слишком много назначений считаются плохими? Если да, то почему?

Netbeans, похоже, предполагает, что слишком много назначений довольно плохое и должно быть изменено.

то есть.

$foo = ' bar ';
$foo = trim($foo);

Должен быть лучше закодирован как

$foo = ' bar ';
$trimmed_foo = trim($foo);

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

4b9b3361

Ответ 1

Это новое предупреждение, к середине 2012 года.

Поскольку вы использовали пример обрезки, я предполагаю, что вы прочитали этот https://blogs.oracle.com/netbeansphp/entry/several_new_hints, который пытается объяснить это предупреждение. Мое предупреждение - это попытка предупредить вас о случайном повторном использовании переменной. Таким образом, это очень удобно. В обложке вы даете это, кажется, немного тяжело. Если переназначение происходит по строке, это, вероятно, не случайно.

Ответ 2

В идеале имя переменной должно описывать содержимое. Если вы повторно назначаете одну и ту же переменную, это предполагает, что содержимое переменных не определено.

Кроме того, если ваш код имеет что-то вроде этого:

$foo = ' bar ';
// some code, mybe 100 lines of it
// now do something with $foo

Что произойдет, если вы обновите код для добавления $foo = trim($foo); вверху? Вы нарушаете код ниже.

Ответ 3

Эти варианты не имеют значения. Если что-то первое лучше, потому что это позволяет избежать помех области с переменными.

Я думаю, что на самом деле это означает, что вы должны попытаться сделать

$foo = trim(' bar ');

напрямую (или что-то вроде $foo действительно устанавливается в первую очередь), вместо того, чтобы хранить его во временном. Конечно, это не всегда возможно.

Ответ 4

Если вам не нравится этот подсказку, вы можете просто деактивировать его в Инструменты → Параметры → Редактор → Советы → PHP → Неизменяемые переменные

Ответ 5

IMHO, первый способ подходит для большей производительности, сравнивая вторую.

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