PHP функция max()
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
?
Помните, что чем проще ваш код, тем легче его читать в будущем.