Как писать наиболее читабельный код в 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 шт):

Автор решения: MiT

1. if-else или тернарная операция

if-else классический способ, тернарный функциональный способ. Используется по усмотрению программиста, если при использования тернарного способа выражение становиться длинным, то лучше использовать if-else. Иногда бывает, что можно использовать только один из способов.

Разница:

  1. В размере записи
  2. Нет возможности у тернарного оператора использовать только блок if

2. Стоит ли делать такую универсальную функцию

Функции делают для того чтобы не писать одно и тоже много раз, если функция выполняет свою логику без нареканий, то это нормальная функция. В данном примере все хорошо, кроме некоторых но:

  1. Лучше вынести этот кусок кода, так как он каждый раз создается, лишняя нагрузка (я бы сделал singleton): SharedPreferences prefs = await SharedPreferences.getInstance();

  2. Объявляйте типы для переменных/функций. Это поможет при написании, так как будут показываться подсказки и при дебаге, так как будет видно что происходит.

3. Как правильно давать название переменным, функциям, классам?

The Clean Code Game, и не важно что там C#, самое главное оно объяснит как.

4. Объявление переменных/функций ?

У каждого языка программирования есть Code Style, к которому нужно придерживаться, для Dart это Effective Dart: Style, для Flutter это Style guide for Flutter. Там все описано.

Итог

Грамотный настроенный analysis поможет вам писать более читаемый код, просто добавьте этот файл в корень вашего проекта, и исправьте ошибки, которые он нашел.

→ Ссылка