Глупый и умный: создаём "глупый" конструктор и умные фабрики
Привет, друзья! 👋 Сегодня мы поговорим о том, как улучшить ваш код на Flutter/Dart, используя "глупые" конструкторы и умные фабрики. 📈
Что такое "глупый" конструктор?
"Глупый" конструктор - это конструктор, который только присваивает данные. Он не должен делать ничего другого! 🚫
Пример плохого конструктора:
Пример хорошего "глупого" конструктора:
Зачем использовать фабрики?
Фабрики идеально подходят для более сложных присвоений значений. Они позволяют создавать объекты более гибко и читаемо. 🌟
Пример фабрики:
Вывод:
- Конструкторы должны быть "глупыми" и только присваивать данные.
- Для более сложных операций используйте фабрики.
Оцените нашу новую рубрику! 👍 Нам важно ваше мнение. Оставляйте свои комментарии и предложения. 💬
Все подобные новости вы можете найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #CodingTips #Programming #SoftwareDevelopment
Привет, друзья! 👋 Сегодня мы поговорим о том, как улучшить ваш код на Flutter/Dart, используя "глупые" конструкторы и умные фабрики. 📈
Что такое "глупый" конструктор?
"Глупый" конструктор - это конструктор, который только присваивает данные. Он не должен делать ничего другого! 🚫
Пример плохого конструктора:
class Device {
String? id;
String? name;
OperatingSystem? platform;
Device({
this.id,
}) :
// Плохая практика - присвоение значений в теле конструктора
name = null,
platform = null {
final deviceInfo = ...; // Получение информации об устройстве
name = deviceInfo.name;
platform = deviceInfo.platform;
}
}
Пример хорошего "глупого" конструктора:
class Device {
String? id;
String name; // Теперь обязательное поле
OperatingSystem platform; // Теперь обязательное поле
Device({
this.id,
required this.name, // Требуем имя устройства
required this.platform, // Требуем платформу устройства
});
}
Зачем использовать фабрики?
Фабрики идеально подходят для более сложных присвоений значений. Они позволяют создавать объекты более гибко и читаемо. 🌟
Пример фабрики:
factory Device.current() {
final deviceInfo = ...; // Получение информации об устройстве
return Device(
name: deviceInfo.name, // Присваиваем имя устройства
platform: deviceInfo.platform, // Присваиваем платформу устройства
);
}
Вывод:
- Конструкторы должны быть "глупыми" и только присваивать данные.
- Для более сложных операций используйте фабрики.
Оцените нашу новую рубрику! 👍 Нам важно ваше мнение. Оставляйте свои комментарии и предложения. 💬
Все подобные новости вы можете найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #CodingTips #Programming #SoftwareDevelopment
👍3❤1
Как воспроизвести звуки в Flutter
Звуки могут изменить опыт использования приложения. Что может быть более удовлетворительным, чем хороший звук уведомления? 😊
Шаг 1: Установите плагин audioplayers
Шаг 2: Воспроизведите звук напрямую...
Это здорово, потому что вам не нужно готовить файл или сбрасывать его, если он уже был воспроизведен... просто попросите воспроизвести, и он сделает свое дело! 👍
Дополнительные возможности
Это позволяет вам делать гораздо больше, чем просто воспроизводить звук. А за этой простотой вы также можете действительно оптимизировать с помощью расширенных конфигураций, таких как режим освобождения 🔧
Оцените новую рубрику и напишите свое мнение! 💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #mobiledevelopment #appdevelopment #codingtips #programming #softwaredevelopment
Звуки могут изменить опыт использования приложения. Что может быть более удовлетворительным, чем хороший звук уведомления? 😊
Шаг 1: Установите плагин audioplayers
import 'package:audioplayers/audioplayers.dart';
Шаг 2: Воспроизведите звук напрямую...
await player.play(AssetSource("sounds/beep.wav"));
Это здорово, потому что вам не нужно готовить файл или сбрасывать его, если он уже был воспроизведен... просто попросите воспроизвести, и он сделает свое дело! 👍
Дополнительные возможности
// Установите режим освобождения, чтобы сохранить источник после завершения воспроизведения.
player.setReleaseMode(ReleaseMode.stop);
Это позволяет вам делать гораздо больше, чем просто воспроизводить звук. А за этой простотой вы также можете действительно оптимизировать с помощью расширенных конфигураций, таких как режим освобождения 🔧
Оцените новую рубрику и напишите свое мнение! 💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #mobiledevelopment #appdevelopment #codingtips #programming #softwaredevelopment
👍2
Сегодня это последняя новость вашей любимой рубрики 😢… Но не грустите! Уже в понедельник мы выкатим рубрику ещё круче — держитесь! 💥 Наш канал растёт вместе с вами, так что готовьтесь к новому уровню!
Fail fast - debug fast
Иногда наш API падает, но мы этого не видим напрямую. В результате мы переходим от файла к файлу или читаем логи. Вместо этого мы можем заставить отладчик остановиться сразу же, даже если мы обработали эту ошибку.
Эта директива "vm:notify-debugger-on-exception" остановит выполнение в этом методе всякий раз, когда возникает ошибка в режиме отладки. В продакшене ничего не произойдет.
Оцените лайком последнюю новость в этой рубрике! 👍💬
#FlutterPulseTips нам тебя будет не хватать....
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #debug #tips #coding #mobiledev #programming #productivity
Fail fast - debug fast
Иногда наш API падает, но мы этого не видим напрямую. В результате мы переходим от файла к файлу или читаем логи. Вместо этого мы можем заставить отладчик остановиться сразу же, даже если мы обработали эту ошибку.
@pragma('vm:notify-debugger-on-exception')
void getUser() {
final response = await http.get(Uri.parse('...'));
if (response.statusCode == 200) {
return ...;
}
throw Exception('Не удалось загрузить пост2'); // Failed to load post2
}
Эта директива "vm:notify-debugger-on-exception" остановит выполнение в этом методе всякий раз, когда возникает ошибка в режиме отладки. В продакшене ничего не произойдет.
Оцените лайком последнюю новость в этой рубрике! 👍💬
#FlutterPulseTips нам тебя будет не хватать....
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #debug #tips #coding #mobiledev #programming #productivity
👍4😱2🔥1👏1