Лучшие практики для хранения констант (в классе v / s json объект) в Angular 7 - PullRequest
2 голосов
/ 29 марта 2019

Я хочу сохранить некоторые константы, которые можно использовать в приложении.

export class DateTimeConstants {
  public static readonly DateFormat: string = 'dd/mm/yy';
  public static readonly DateTimeDisplayFormat: string =
    'dd/MM/yyyy hh:mm:ss aa';
  public static readonly TimeFormat: string = '12';
}

ИЛИ

export dateTimeConstants = {
  dateFormat: 'dd/mm/yy',
  dateTimeDisplayFormat: 'dd/MM/yyyy hh:mm:ss aa',
  timeFormat: '12'
}

Преимущество первого подхода состоит в том, что intellisense показывает имя поля послепоставить точку (.) с именем класса, в то время как со вторым подходом, который недоступен.

Какой должна быть лучшая практика, поскольку в будущем будет добавлено еще много конфигураций?

1 Ответ

1 голос
/ 29 марта 2019

По моему мнению, наилучшей практикой для хранения некоторых ограничений (например, конфигурации для DateTime, Date и т. Д.) Является экспорт одной константы с назначенным объектом (смотрите файл environment.ts в каждом проекте Angular по умолчанию)

Я бы преобразовал ваш код во что-то вроде этого:

export const dateTimeConstants = {
  dateFormat: 'dd/mm/yy';
  dateTimeDisplayFormat: 'dd/MM/yyyy hh:mm:ss aa';
  timeFormat: '12';
}

Intellisense помогает после ввода точки (.), И я думаю, что это хороший стандарт для соответствия шаблону углового приложения / каркасу.Это мое объективное мнение:)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...