#113

«Волшебные» строки нужно определять в константы

// определяем модель данных
paymentProvider: {
  type: ENUM('stripe', 'paypal', 'coupon')
}

// далее где-то в коде сломались тихо
user.paymentProvider = 'stirpe';

// или сломались явно
user.paymentProvider = User.PAYMENT_PROVIDER_STIRPE;

На опечатку в константе будет ругаться компилятор, а на опечатку в волшебной строке — нет, и ошибка вылезет только в рантайме.

Ну окей, в приведенном примере не все языки ругнутся на этапе валидации синтаксиса, но ошибка все равно поймается раньше, чем будет обращение к базе.