2015-06-08 2 views
2

я два метода в моем классе:Как назвать методы, в которых один объект вводится как один, а один - несколько?

public String widgetToHtml(Widget widget){...} 

и

public String widgetsToHtml(List <Widget> widgets){ 
    for(Widget widget : widgets){ 
     widgetToHtml(widget); 
    } 
} 

Как следует называть эти методы?

  • Они могут быть названы то же самое, и перегруженный
  • Они могут быть названы несколько иначе, при этом один виджет постоянных ь Чтобы Html ", а другой" виджет To HTML.
    • Они также могут быть названы singleWidgetToHtml и multipleWidgetToHtml

последующие вопросы:

  • было бы иначе, если метод обработки одного виджета был закрытым?

Edit: Crossposted here

+0

Я бы либо перегрузил его, либо использовал varargs (хотя varargs могут сделать жизнь очень сложной), но это всего лишь личное мнение. И если вы хотите обеспечить соблюдение хотя бы одного параметра, сделайте 'public String widgetToHtml (сначала виджет, Widget ... rest)' – biziclop

+0

В обычном варианте все варианты применимы, точка - это соглашение об именовании метода java. ИМХО Я выбираю перегрузку. –

+0

Пожалуйста, не выполняйте [перекрестные помехи] (http://meta.stackexchange.com/q/64068/255171) –

ответ

1

Если бы я тебя, я бы просто назвать метод

public String toHTML(...) 

и перегружать методы. Нет добавленной стоимости при указании типа аргументов в имени метода.

Был бы класс утилит этими методами?

+0

Это потрясающий ответ. Именно то, что я искал. Благодарю. – sixtyfootersdude

1

varrags позволяет метод принимать нулевые или Muliple аргументы. Перед varargs либо мы используем перегруженный метод, либо принимаем массив как параметр метода, но он не считается хорошим, потому что это приводит к проблеме обслуживания. Если мы не знаем, сколько аргументов нам придется пройти в методе, то лучше использовать varargs.

public String widgetToHtml(Widget... widget) 
{...} 
+0

Но теперь ваше имя метода является единственным, но может принимать несколько аргументов. – bhspencer