Насколько в действительности возрастает нагрузка, если писать код, разбивая все на отдельные действия? Обращаюсь к старшим товарищам, понимающим все тонкости программирования на уровне железа. Мне не очень понятно, насколько действительно критичным может быть разбиение всех действий на отдельные. === Вариант 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) ); }
Разбиение всех действий на отдельные действительно имеет свои плюсы и минусы, и выбор между ними зависит от конкретной ситуации.
В вашем случае, вариант 1 удобен для читаемости и отладки кода, так как каждое действие явно отделено друг от друга. Однако, он требует больше памяти из-за промежуточных переменных, которые сохраняются в памяти.
Вариант 2 более компактный и экономичный по памяти, но может быть труднее читать и отлаживать из-за более сложной структуры кода.
В целом, важно найти баланс между читаемостью, удобством отладки и эффективностью использования памяти. В вашем конкретном случае, если объем данных не очень большой, то можно оставить вариант 1 для удобства работы с кодом. Если же у вас большие объемы данных и память критична, то можно выбрать вариант 2. Важно также помнить о производительности кода и его поддерживаемости в будущем.
Разбиение всех действий на отдельные действительно имеет свои плюсы и минусы, и выбор между ними зависит от конкретной ситуации.
В вашем случае, вариант 1 удобен для читаемости и отладки кода, так как каждое действие явно отделено друг от друга. Однако, он требует больше памяти из-за промежуточных переменных, которые сохраняются в памяти.
Вариант 2 более компактный и экономичный по памяти, но может быть труднее читать и отлаживать из-за более сложной структуры кода.
В целом, важно найти баланс между читаемостью, удобством отладки и эффективностью использования памяти. В вашем конкретном случае, если объем данных не очень большой, то можно оставить вариант 1 для удобства работы с кодом. Если же у вас большие объемы данных и память критична, то можно выбрать вариант 2. Важно также помнить о производительности кода и его поддерживаемости в будущем.