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