В некоторых наших проектах есть иерархия классов, которая добавляет дополнительные параметры по мере продвижения по цепочке. Внизу, некоторые из классов могут иметь до 30 параметров, 28 из которых просто передаются в супер-конструктор.
Я признаю, что было бы неплохо использовать автоматический DI через что-то вроде Guice, но по некоторым техническим причинам эти конкретные проекты ограничены Java.
Соглашение об организации аргументов в алфавитном порядке по типу не работает, потому что если тип подвергается рефакторингу (круг, который вы передавали в качестве аргумента 2, теперь является формой), он может внезапно выйти из строя.
Этот вопрос может быть конкретным и чреват критикой "Если это ваша проблема, вы делаете это неправильно на уровне проекта", но я просто ищу любые точки зрения.