Передавая количество параметров против проходящей карты, что лучше при написании метода? - PullRequest
0 голосов
/ 13 ноября 2018

При написании метода лучше всего вызывать метод с количеством параметров или создавать карту и передавать ее как 1 параметр.

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018

Вы можете также рассмотреть возможность использования класса аргумента со строителем.

myMethod(MyArgument.newBuilder().withFirstArg("arg1").build());
  • Это долго и утомительно
  • Вы в безопасности от карт, имеющих ключи от ошибок
  • Вы можете указать обязательные и необязательные параметры
  • Ваш метод более чистый, так как он обращается к методам напрямую, вместо того, чтобы проверять, содержит ли карта ключ

В качестве альтернативы, вы можете попробовать использовать свободный интерфейс.

myMethod("arg1").invokeWith("arg2").anotherOne("arg3").andOneMore("arg4").andTheLastOne("arg5");
0 голосов
/ 13 ноября 2018

Если ваш метод требует

  • динамическое количество аргументов (например, которые основаны на вводе пользователем), тогда карта является хорошим решением
  • фиксированное количество аргументов, и их много (например, более 5), тогда, вероятно, это означает, что они слишком много и должны быть разбиты на несколько методов
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...