Swagger - Наследование контроллера

Это не ошибка дизайна . Любой, кто совершает это, делает что-то неправильно.

Есть три случая, когда я вижу, где вы можете столкнуться с этой проблемой:

  1. Вы намерены изменить аргумент как сторону эффект функции. В этом случае никогда не имеет смысла иметь аргумент по умолчанию. Единственное исключение - когда вы злоупотребляете списком аргументов, чтобы иметь функциональные атрибуты, например. cache={}, и вы не должны были бы вызывать функцию с фактическим аргументом вообще.
  2. Вы намерены оставить аргумент немодифицированным, но вы случайно сделали изменить его , Это ошибка, исправьте ее.
  3. Вы намерены изменить аргумент для использования внутри функции, но не ожидали, что изменение будет доступно для просмотра вне функции. В этом случае вам нужно сделать копию аргумента, независимо от того, был ли он по умолчанию или нет!

Пример в вопросе может относиться к категории 1 или 3. Нечетно, что он изменяет переданный список и возвращает его; вы должны выбрать тот или другой.

0
задан user3249448 26 March 2019 в 13:27
поделиться