Для новой фичи мне нужно хранить токен Sentry и домен, где этот Sentry работает. Почти у всех он
sentry.com, не так много кто использует self-hosted решения. Есть в общем два варианта как хранить эти данные. Либо мы храним все:
"token": "<token>",
"domain": "sentry.com(или свой какой-то)"
}
Либо, когда у нас само вырисовывается некое значение по умолчанию, которое будет у большинства, мы можем хранить только токен, если домен у нас
sentry.com. А значение домена храним только тогда, когда оно отличается от дефолтного.
"token": "<token>" // предполагаем, что домен стандартный
}
В JetBrains IDE предпочитают второе. У них тысячи настроек, но если они являются значениями по умолчанию, то они не хранятся, а при загрузке просто берется то самое значение. Плюса здесь два. Первый - экономия памяти. Иногда копеечная, а иногда весьма значительная. В случае JetBrains сред это мегабайты на каждый проект (тоже не бог весть что, но все-таки).
Второе плюс более значительный. Редко, но значения по умолчанию могут меняться. В этом случае отсутствие данных дает нам простую, но важную информацию - юзер эту настройку не трогал. И мы можем гибко отреагировать на эту ситуацию. В моем же случае я легко перейду на новый дефолтный домен, если вдруг он у Sentry сменится.
P.S. токены мы все равно храним в защищенном хранилище, а не в открытую :)