Вы смешиваете несколько понятий здесь. Значение по умолчанию, указанное в коде, должно быть специфичным для локальной ситуации как «разумное значение по умолчанию». Если вы хотите использовать настройки по умолчанию для всего приложения, то вам нужен поставщик настроек, который позволяет вам подключать как настройки по умолчанию, так и накладные настройки пользователя. Что-то, что может быть полезным проектом само по себе.
Да, и «разумные значения по умолчанию» - отличный способ избежать настройки, когда это не нужно, но позволяют пользователю или упаковщику предоставлять лучшие значения при необходимости.
@ комментарий, кажется, я понимаю.
Под «локальной ситуацией» я подразумеваю в контексте кода. Для вашего GUI вам нужно значение для отображения, которое представляет все, что используется потоком. Поэтому я бы использовал что-то вроде Worker.DEFAULT_TIMEOUT. Ваш работник будет использовать то же значение внутри, что и значение по умолчанию. Таким образом вы извлекаете сконфигурированное значение или значение по умолчанию для работника при настройке поведения работника.