Как писать наиболее читабельный код в Dart?
Является ли такая конструкция предпочтительнее, чем if-ы с "{", "}" (см. return)? И вообще стоит ли делать такую универсальную функцию, которая задает и получает значение, может лучше на две разбить?
Future showNotification(value) async {
SharedPreferences prefs = await SharedPreferences.getInstance();
return (value == null) ?
prefs.getBool('notification') ?? false :
await prefs.setBool('notification', value);
}
Как правильно давать название переменным, функциям, классам?
Без разницы ли, что объявлять в начале? "Пустые" переменные, потом заполненные переменные, потом функции?
Насколько вредно такое скопление виджетов в классе?
Ответы (1 шт):
1. if-else или тернарная операция
if-else классический способ, тернарный функциональный способ. Используется по усмотрению программиста, если при использования тернарного способа выражение становиться длинным, то лучше использовать if-else. Иногда бывает, что можно использовать только один из способов.
Разница:
- В размере записи
- Нет возможности у тернарного оператора использовать только блок
if
2. Стоит ли делать такую универсальную функцию
Функции делают для того чтобы не писать одно и тоже много раз, если функция выполняет свою логику без нареканий, то это нормальная функция. В данном примере все хорошо, кроме некоторых но:
Лучше вынести этот кусок кода, так как он каждый раз создается, лишняя нагрузка (я бы сделал
singleton):SharedPreferences prefs = await SharedPreferences.getInstance();Объявляйте типы для переменных/функций. Это поможет при написании, так как будут показываться подсказки и при дебаге, так как будет видно что происходит.
3. Как правильно давать название переменным, функциям, классам?
The Clean Code Game, и не важно что там C#, самое главное оно объяснит как.
4. Объявление переменных/функций ?
У каждого языка программирования есть Code Style, к которому нужно придерживаться, для Dart это Effective Dart: Style, для Flutter это Style guide for Flutter. Там все описано.
Итог
Грамотный настроенный analysis поможет вам писать более читаемый код, просто добавьте этот файл в корень вашего проекта, и исправьте ошибки, которые он нашел.