Лучший способ изменить порядок выполнения кода на основе условия - PullRequest
0 голосов
/ 30 октября 2018

У меня есть два блока кода PHP: BlockA и BlockB (блок - это всего лишь пара строк кода, обычно 10 или более строк). В зависимости от ситуации мне может потребоваться запустить BlockA до BlockB или BlockB до BlockA. До сих пор я делал это двумя способами, но мне было интересно, есть ли какой-то продвинутый метод для решения этой ситуации.

Метод 1:

if(some condition)
{
      BlockA;
      BlockB;
}
else
{
     BlockB;
     BlockA;
}

Это очень уродливо, потому что мне приходится повторять около 50 строк кода дважды, а любое изменение нужно делать два раза (представьте, если бы у меня было пять блоков для заказа).

Метод 2: Создайте функцию для каждого блока.

if(some condition)
{
      BlockA();
      BlockB();
}
else
{
     BlockB();
     BlockA();
}

Это решает проблему повторяющегося кода, но кажется немного странным создавать функции только потому, что вы хотите переупорядочить часть кода. Как профессионалы справляются с этой ситуацией? Ситуация могла бы стать еще более сложной, если бы, скажем, было 10 блоков на заказ.

1 Ответ

0 голосов
/ 30 октября 2018

Профессионалы абсолютно создают функции. Это не редкость сделать функцию из одной строки кода. Идея в том, что это делает ваш код более читабельным. Это стоит прочитать на Чистый код .

В идеале ваши функции ДОЛЖНЫ быть небольшими, не более 10 строк кода и никогда не превышать страницу. Теперь PHP выполняет довольно плохую работу по обработке функций, и есть ненулевые издержки при выполнении вызова функции (15% или около того), но редко вы пишете приложение, которое интенсивно использует процессор в PHP (если вы пожалуйста, не надо, это не тот инструмент для работы).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...