Насколько в действительности возрастает нагрузка, если писать код, разбивая все на отдельные действия? Обращаюсь к старшим товарищам, понимающим все тонкости программирования на уровне железа.
Мне не очень понятно, насколько действительно критичным может быть разбиение всех действий на отдельные.
=== Вариант 1 ===
Все действия отделены друг от друга
Легко читать
Легко делать отладку, так как всегда можно просто взять и вывести $price на экран
Но для выполнения скрипта (особенно, если таких мест много), требуется больше памятиforeach ($this->cart->getProducts() as $product) {
$price = get_product_price_without_sale($product['product_id']); // Значение получено заранее. Оно хранится в памяти и занимает лишнее место
$data_deal['products'][] = array(
'name' => htmlspecialchars($product['name']),
'count' => $product['quantity'],
'price' => $this->currency->format($price, $order_info['currency_code'], $order_info['currency_value'], false)
);
}
=== Вариант 2 ===
Труднее читать
Для отладки нужно более внимательно копировать конструкцию, которая покажет, что там у нас получается
Память не занимается промежуточными переменнымиforeach ($this->cart->getProducts() as $product) {
$data_deal['products'][] = array(
'name' => htmlspecialchars($product['name']),
'count' => $product['quantity'],
'price' => $this->currency->format(get_product_price_without_sale($product['product_id']), $order_info['currency_code'], $order_info['currency_value'], false)
);
}

21 Авг 2019 в 06:31
196 +1
0
Ответы
1

Разбиение всех действий на отдельные действительно имеет свои плюсы и минусы, и выбор между ними зависит от конкретной ситуации.

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

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

В целом, важно найти баланс между читаемостью, удобством отладки и эффективностью использования памяти. В вашем конкретном случае, если объем данных не очень большой, то можно оставить вариант 1 для удобства работы с кодом. Если же у вас большие объемы данных и память критична, то можно выбрать вариант 2. Важно также помнить о производительности кода и его поддерживаемости в будущем.

20 Апр в 13:17
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 91 947 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир