PHP функция max()

Источник: «PHP max() function»
Погрузитесь в это увлекательное руководство по рефакторингу фрагмента кода с использованием функции max в PHP.

Функция max() в PHP используется для поиска наибольшего значения в списке элементов. Вот несколько примеров того, как это работает:

echo max(2, 3, 1, 6, 7);  // 7
echo max([2, 4, 5]); // 5

Я столкнулся с фрагментом кода, который написал, и использовал эту функцию для быстрого рефакторинга. Позвольте показать это на видео (Данная соцсеть C 21 марта 2022 года официально запрещена на территории России).

Взгляд на первоначальный код

В нашей существующей конфигурации мы решали эту задачу с помощью тернарного оператора. Допустим, типичные ценовые уровни в SaaS-приложениях включают Bronze, Silver и Gold планы. В нашем сценарии покупатели тарифного плана Gold заказывают не менее десяти лицензий.

if ($selectedTier === 'gold') {
$licenses = $licenses > 10 ? $licenses : 10;
}

Условие в тернарном операторе проверяет, выбран ли план Gold. Если да, то оценивается внутренний тернарный оператор, который сравнивает переменную $licenses с 10. Если $licenses меньше 10, то она заменяется на 10, в противном случае сохраняется текущее значение. Если план Gold не выбран, то переменная $licenses просто остаётся нетронутой.

Хотя такой подход работает, код получается громоздким и в меру сложным для понимания. Я задался вопросом: Могу ли я упростить его, сделав более читаемым и элегантным?.

Применение функции PHP max для рефакторинга

Именно тогда на помощь приходит волшебная функция PHP max! Функция max — математическая функция в PHP, которая используется для поиска максимального значения среди заданных целых чисел.

Ответ на наш предыдущий вопрос был однозначно Да, посмотрим, как это можно изменить:

if ($selectedTier === 'gold') {
$licenses = max($licenses, 10);
}

В этой переработанной версии, если выбран план Gold, функция max сравнивает количество выбранных лицензий с десятью и возвращает большее значение. Если план Gold не выбран, то функция max ничего не делает с $licenses.

Этот новый фрагмент кода не только короче, но и проще для понимания. Если вы знакомы с функцией max, то сразу поймёте, как работает этот код. Читабельность этого кода значительно лучше, чем у исходной версии, что является важным аспектом чистого и поддерживаемого кода.

Интересный факт: функция max в PHP может быть мощным инструментом для упрощения сложных тернарных операторов, включающих числовые сравнения.

Резюме

Этот незначительный, но эффектный рефакторинг кода с использованием функции max в PHP подчёркивает важность постоянного стремления к упрощению и элегантности кодовой базы. Элегантную кодовую базу легче поддерживать, читать и распространять среди членов команды.

Если вы создаёте SaaS-приложение или любое другое приложение, требующее условного потока управления, основанного на числовых значениях, функция max может стать одной из функций PHP, способных упростить процесс кодирования. Так почему бы не отказаться от сложного тернарного оператора в пользу удобной встроенной функции max?

Помните, что чем проще ваш код, тем легче его читать в будущем.

Дополнительные материалы

Предыдущая Статья

Laravel 11: грядущие изменения и дата выхода

Следующая Статья

Отладка ошибок шлюза/Gateway Errors 502 и 504