Программирование
Избегайте «when» — используйте полиморфизм
Совет для Android-разработчиков.
Операторы When часто считаются признаком плохого кода, и их следует избегать.
Разберем пример. Допустим, нужно разработать кнопку с пятью предопределенными размерами:
- маленький (высота = 16dp)
- средний (высота = 24 dp)
- большой (высота = 32dp)
- огромный (высота = 40dp)
- кастомный
Давайте подробнее рассмотрим последнюю приватную функцию getButtonHeight и поймем, что в ней не так.
С дублированием кода связаны две проблемы:
- Повторяющееся создание Dp из Int.
- Дополнительная проверка во время выполнения. Где-то во ViewModel мы уже решили, какую высоту кнопки использовать. Зачем нужна дополнительная проверка? Это бесполезно. Кроме того, это создает накладные расходы во время выполнения. Ресурсы Android-телефона, потраченные на проверку, могут быть использованы на другие более ценные операции — например, анимации.
Избавимся от проверки. Все, что нам нужно сделать, это заменить выражение when на полиморфизм.
Усложним пример. Предположим, что текст и цвет кнопки зависят от размера кнопки. Мы собираемся рассмотреть оба случая.
Сравните два фрагмента ниже.
Пример с полиморфизмом:
Пример с выражением when:
Преимущества полиморфизма:
- Он делает кодовую базу меньше.
- Функционал расширять проще.
- Он исключает дублирование кода.
- Он снижает накладные расходы во время выполнения.
-
Аналитика магазинов3 недели назад
Мобильный рынок Ближнего Востока: исследование Bidease и Sensor Tower выявляет драйверы роста
-
Интегрированные среды разработки4 недели назад
Chad: The Brainrot IDE — дикая среда разработки с играми и развлечениями
-
Новости4 недели назад
Видео и подкасты о мобильной разработке 2025.46
-
Видео и подкасты для разработчиков3 недели назад
Разбор кода: iOS-приложение для управления личными финансами на Swift. Часть 1

