Программирование
Избегайте «when» — используйте полиморфизм
Совет для Android-разработчиков.
Операторы When часто считаются признаком плохого кода, и их следует избегать.
Разберем пример. Допустим, нужно разработать кнопку с пятью предопределенными размерами:
- маленький (высота = 16dp)
- средний (высота = 24 dp)
- большой (высота = 32dp)
- огромный (высота = 40dp)
- кастомный
Давайте подробнее рассмотрим последнюю приватную функцию getButtonHeight и поймем, что в ней не так.
С дублированием кода связаны две проблемы:
- Повторяющееся создание Dp из Int.
- Дополнительная проверка во время выполнения. Где-то во ViewModel мы уже решили, какую высоту кнопки использовать. Зачем нужна дополнительная проверка? Это бесполезно. Кроме того, это создает накладные расходы во время выполнения. Ресурсы Android-телефона, потраченные на проверку, могут быть использованы на другие более ценные операции — например, анимации.
Избавимся от проверки. Все, что нам нужно сделать, это заменить выражение when на полиморфизм.
Усложним пример. Предположим, что текст и цвет кнопки зависят от размера кнопки. Мы собираемся рассмотреть оба случая.
Сравните два фрагмента ниже.
Пример с полиморфизмом:
Пример с выражением when:
Преимущества полиморфизма:
- Он делает кодовую базу меньше.
- Функционал расширять проще.
- Он исключает дублирование кода.
- Он снижает накладные расходы во время выполнения.
-
Приложения3 часа назад
Перевод по фото для iOS и Android 2025
-
Приложения1 день назад
Решение уравнений по фотографии — приложения для математиков
-
Исследования3 недели назад
Поможет ли новая архитектура React Native отобрать лидерство у Flutter в кроссплатформенной разработке?
-
Интегрированные среды разработки4 недели назад
Лучшая работа с Android Studio: 5 советов