Если ваша функция принимает одиннадцать параметров, вы, вероятно, забыли еще один
Мне нравится это предложение, потому что оно суммирует все: плохой дизайн требует плохого дизайна.
Я взял это из книги Стандарты кодирования C ++: 101 правила, руководящие указания и лучшие практики , написанной Хербом Саттером, Андреем Александреску.
Редактировать: Прямая кавычка Если у вас есть процедура с десятью параметрами, вы, вероятно, пропустили некоторые . Это само по себе цитата Алана Перлиса .
Функции с таким количеством параметров являются признаком плохого дизайна.
Одна из возможностей - попытаться инкапсулировать часть этих параметров в объекте / классе, который имеет определенную цель. (не класс мусора, который бы перечислял все параметры без осмысленной структуры).
Никогда не забывайте Принцип единой ответственности
Как следствие, классы остаются ограниченными по размеру, и, как следствие, ограничены по количеству параметров-членов и, следовательно, ограничены по размеру параметров, необходимых для его конструкторов. Как говорится в одном из комментариев ниже, класс с таким большим количеством параметров конструктора может обрабатывать слишком много бесполезных деталей независимо от его главной цели.
Рекомендуется также взглянуть на это: Сколько параметров слишком много?