Обработка методов, возвращающих молча: перегрузки, параметры или что-то еще?C#

Место общения программистов C#
Ответить
Anonymous
 Обработка методов, возвращающих молча: перегрузки, параметры или что-то еще?

Сообщение Anonymous »

Время от времени я встречаю в нашей базе кода такие методы:

Код: Выделить всё

public void Search(SearchModel searchModel)
{
if (SearchModelEqualityComparer.Equals(_lastSearchModel, searchModel)) // this could also be validation checks
return;

ForceSearch(searchModel);
}

public void ForceSearch(SearchModel searchModel) => ...
Но я также вижу это:

Код: Выделить всё

public void Search(SearchModel searchModel, bool checkIfChanged = true)
{
if (checkIfChanged && SearchModelEqualityComparer.Equals(_lastSearchModel, searchModel))
return;

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

Подробнее здесь: https://stackoverflow.com/questions/799 ... s-or-other
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»