Применяются ли рекомендации по количеству аргументов функции «Чистого кода» к конструкторам? - PullRequest
0 голосов
/ 18 июня 2020

Глава 3 «Чистого кода» довольно ясно дает понять, что сохранение небольшого количества аргументов функции является хорошей практикой. Сейчас я стараюсь избегать всего, кроме диад. Пока все идет хорошо, но я продолжаю сталкиваться с ситуациями, когда мне нужны три аргумента для создания объекта. Конечно, я мог бы создать объект аргумента для решения этой проблемы, но тогда мне пришлось бы выбрать два из трех аргументов для группировки вместе, а это не всегда имеет смысл. Итак, мой вопрос: применимо ли это правило и к конструкторам, или мне не следует беспокоиться о конструкторах триад.

1 Ответ

0 голосов
/ 18 июня 2020

Эти «правила» являются рекомендациями и зависят от варианта использования. В общем, рекомендуется использовать небольшое количество аргументов. Помимо использования составных типов в качестве аргументов, есть несколько общих шаблонов для этого:

Классический c шаблон построителя или, что я предпочитаю, современный вариант шаблон Fluent Builder

Например:

Email email = Email.EmailBuilder()
              .setFrom("Test@gmail.com")
              .setTo("mail@gmail.com")
              .setSubject("Test with only required Fields")
              .setContent(" Required Field Test")
              .build();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...