Вопросы с тегом «parameters»

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

209
Есть ли название для (анти) шаблона передачи параметров, который будет использоваться только на нескольких уровнях в цепочке вызовов?

Я пытался найти альтернативы использованию глобальной переменной в каком-то устаревшем коде. Но этот вопрос не о технических альтернативах, я в основном обеспокоен терминологией . Очевидное решение - передать параметр в функцию вместо использования глобального. В этой унаследованной кодовой базе...

190
Каковы хорошие привычки для разработки аргументов командной строки?

При разработке приложения я начал задаваться вопросом - как мне создавать аргументы командной строки? Многие программы используют формулу, как это -argument valueили /argument value. Решение, которое пришло мне в голову, было argument:value. Я думал, что это хорошо, потому что без пробелов нет...

114
Существуют ли рекомендации относительно того, сколько параметров должна принимать функция?

Я заметил, что некоторые функции, с которыми я работаю, имеют 6 или более параметров, тогда как в большинстве библиотек, которые я использую, редко можно найти функцию, которая занимает больше 3. Часто многие из этих дополнительных параметров являются бинарными опциями для изменения поведения...

52
Как лучше всего упорядочить параметры в функции?

Иногда (редко) кажется, что создание функции, которая принимает приличное количество параметров, является наилучшим маршрутом. Однако, когда я это делаю, я чувствую, что часто выбираю порядок параметров случайным образом. Я обычно выбираю «по важности», сначала выбираю самый важный параметр. Есть...

49
Должны ли мы избегать пользовательских объектов в качестве параметров?

Предположим, у меня есть пользовательский объект, студент : public class Student{ public int _id; public String name; public int age; public float score; } И класс Window , который используется для отображения информации об ученике : public class Window{ public void showInfo(Student student); } Это...

43
Является ли использование имен параметров, которые отличаются от имен типов только регистром, плохой практикой в ​​C #?

Я вижу подобные вопросы в отношении имен параметров, которые соответствуют свойствам класса, но я не могу найти ничего относительно использования имени параметра, совпадающего с именем типа параметра, за исключением случая в C #. Кажется, это не нарушение, которое я могу найти, но считается ли это...

40
Должен ли я принимать пустые коллекции в моих методах, которые проходят по ним?

У меня есть метод, где вся логика выполняется внутри цикла foreach, который перебирает параметр метода: public IEnumerable<TransformedNode> TransformNodes(IEnumerable<Node> nodes) { foreach(var node in nodes) { // yadda yadda yadda yield return transformedNode; } } В этом случае...

39
Это неправильно использовать логический параметр для определения значений?

Согласно Неправильно ли использовать логический параметр для определения поведения? Я знаю важность избегания использования логических параметров для определения поведения, например: оригинальная версия public void setState(boolean flag){ if(flag){ a(); }else{ b(); } c(); } новая версия: public...

36
Почему методы, которые принимают неограниченное количество параметров, часто определяют перегрузки с меньшим количеством параметров?

Например, System.IO.Path.Combineметод в .NET имеет следующие перегрузки: Combine(params String[]) Combine(String, String) Combine(String, String, String) Combine(String, String, String, String) Какой смысл последних трех? Первый будет охватывать их все, как будто вы смотрите внимательно, он...

33
Как назвать метод, который одновременно выполняет задачу и возвращает логическое значение в качестве состояния?

Если есть метод bool DoStuff() { try { // doing stuff... return true; } catch (SomeSpecificException ex) { return false; } } это лучше назвать IsStuffDone()? Пользователь может неверно истолковать оба имени: если имя такое, DoStuff()почему оно возвращает логическое значение? Если имя...

28
Почему бы не аннотировать параметры функции?

Чтобы сделать этот вопрос ответственным, давайте предположим, что цена неоднозначности в уме программиста намного дороже, чем несколько дополнительных нажатий клавиш. Учитывая , что, почему бы я , чтобы мои товарищи по команде , чтобы уйти с не аннотирования их параметры функции? Возьмем следующий...

28
Необязательные параметры или перегруженные конструкторы

Я реализую DelegateCommand, и когда я собирался реализовать конструктор (ы), я предложил следующие два варианта дизайна: 1: Наличие нескольких перегруженных конструкторов public DelegateCommand(Action<T> execute) : this(execute, null) { } public DelegateCommand(Action<T> execute,...

25
Укажите необязательные имена параметров, даже если они не обязательны?

Рассмотрим следующий метод: public List<Guid> ReturnEmployeeIds(bool includeManagement = false) { } И следующий звонок: var ids = ReturnEmployeeIds(true); Для разработчика, плохо знакомого с системой, было бы довольно сложно догадаться, что именно true. Первое, что вы должны сделать - навести...

24
Несколько аргументов в вызове функции против одного массива

У меня есть функция, которая принимает набор параметров, а затем применяет их как условия к SQL-запросу. Однако, пока я предпочитаю массив с одним аргументом, содержащий сами условия: function searchQuery($params = array()) { foreach($params as $param => $value) { switch ($param) { case 'name':...

21
Должен ли метод быть прощающим с аргументами, которые передаются? [закрыто]

Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 4 года назад . Предположим, у нас есть метод, foo(String bar)который...

19
Есть ли лучший способ использовать словари C #, чем TryGetValue?

Я часто просматриваю вопросы в Интернете, и многие решения включают словари. Однако всякий раз, когда я пытаюсь реализовать их, я получаю этот ужасный запах в своем коде. Например, каждый раз, когда я хочу использовать значение: int x; if (dict.TryGetValue("key", out x)) { DoSomethingWith(x); } Это...

17
Передача объекта в метод, который изменяет объект, является ли это обычным (анти) шаблоном?

Я читаю об общих запахах кода в книге Рефакторинга Мартина Фаулера . В этом контексте мне было интересно узнать о паттерне, который я вижу в кодовой базе, и можно ли объективно рассматривать его как анти-паттерн. Это шаблон, в котором объект передается в качестве аргумента одному или нескольким...

15
В чем разница между ref и out во время выполнения?

C # предоставляет ключевое слово refand outдля аргументов, передаваемых по ссылке. Семантика двух очень похожа. Единственная разница заключается в инициализации переменной: refтребует, чтобы переменная была инициализирована перед передачей функции, outнет. outтребует, чтобы переменная была...

15
Функция возвращает только неизмененный параметр, бесполезно?

Я только что нашел эту функцию в проекте, над которым я работаю: -- Just returns the text unchanged. -- Note: <text> may be nil, function must return nil in that case! function Widget:wtr(text) return text end Жаль, кодер больше не работает в компании. Зачем делать функцию, которая ничего не...