Насколько в действительности возрастает нагрузка, если писать код, разбивая все на отдельные действия? Обращаюсь к старшим товарищам, понимающим все тонкости программирования на уровне железа.
Мне не очень понятно, насколько действительно критичным может быть разбиение всех действий на отдельные.
=== Вариант 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
221 +2
0
Ответы
1

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

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

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

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

20 Апр 2024 в 13:17
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир