Именованные параметры C # 4.0 - должны ли они всегда использоваться при вызове не-Framework-методов? - PullRequest
2 голосов
/ 05 мая 2010

Я действительно, это очень субъективная тема, но вот мой текущий взгляд:

При вызове методов, которые не являются частью именованных параметров .NET BCL, всегда следует использовать, так как сигнатуры методов могут сильно измениться, особенно во время цикла разработки моих собственных приложений.

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

Является ли вышеизложенное разумным подходом к вызову методов или я упустил что-то фундаментальное?

1 Ответ

3 голосов
/ 05 мая 2010

Я думаю, что это слишком, лично. (Я также считаю, что правильнее и яснее называть их по имени arguments - у параметров всегда есть имена, так как это является частью декларации.)

Во многих случаях значение предельно ясно из названия метода - особенно если есть только пара аргументов. Зачем добавлять имя? Почему факт, что имя может измениться, влияет на это?

Я бы предложил использовать именованные аргументы:

  • Когда также используются необязательные параметры
  • Если имеется несколько параметров одного типа, поэтому их можно перепутать (например, заголовок диалогового окна и текст содержимого)
  • Когда вы используете null для аргумента, и не ясно, что он делает

Другими словами, как часто отсутствие именованных аргументов приводило вас в замешательство до C # 4? В моем случае это, конечно, ненулевое число раз - ситуации выше do случаются - но это не то, что регулярно мешало мне. Необязательные параметры делают метод (или, в частности, конструктор) более разумным, чтобы иметь потенциально много параметров, и это приводит к тому, что именованные аргументы становятся более полезными (и действительно необходимыми, если вы хотите указать «поздние» необязательные параметры, пропустившие более ранние).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...