Я бы поместил каждую константу в класс или интерфейс, с которым она наиболее тесно связана (например, потому что она будет использоваться его методами).
Очень соблазнительная, но в конечном итоге очень глупая идея - иметь такую "класс констант "(или интерфейс), который содержит все константы, используемые в приложении.На первый взгляд это выглядит «аккуратно», но не подходит для удобства сопровождения, потому что вы хотите сгруппировать вещи по функциональности, которую они реализуют, а не по техническим деталям, таким как константы (вы бы поместили все интерфейсы в выделенный пакет?.
Идея также глупа, потому что любое изменение этого класса / интерфейса (из-за константного встраивания) требует перестройки всех классов, которые используют любую из констант, то есть в значительной степени все приложение.Таким образом, чем больше становится приложение, тем чаще вам требуется такая полная перестройка, и тем дольше это занимает.Я работал над таким проектом, где эта проблема приводила к 15-минутной паузе через день для каждого разработчика ...