Самая частая ошибка у учеников, с которым я сталкиваюсь. Это еще раз доказывается, что
Можно думать, что ты пишешь все правильно. И даже думать, что у тебя чистый код. Пока не получишь обратную связь от более опытного наставника/куратора.
А теперь о самой ошибке.
Напомню, что ключевое слово
return завершает выполнение текущего метода и возвращает управление вызывающему коду.Когда выполнение доходит до
return, то выполнение текущего метода прекращается, и все, что находится после этого в том же методе, НЕ ВЫПОЛНЯЕТСЯ:static bool Method()
{
// какой то код, который ВЫПОЛНИЛСЯ ДО return
return // какое то значение;
// какой то код, который НЕ выполнится никогда
}
Теперь вернемся к условному оператору, в котором в блоке кода
if используется return, а после блока кода стоит else:static bool Method()
{
// какой то код, который ВЫПОЛНИЛСЯ ДО return
if(// условие)
{
return // какое то значение;
}
else
{
// какой то код, который выполнится при ложном условии в if
}
}
Так вот,
else и его фигурные скобки после return НЕ имеют смысла и можно их убрать. Так как– если условие истинно, выполнится
return, выполнение метода завершится и до else дело НЕ дойдет.– если условие ложно, то
else и так выполнится, поэтому дополнительная проверка НЕ требуется.То есть, выше написанный метод превратится в следующее:
static bool Method()
{
// какой то код, который ВЫПОЛНИЛСЯ ДО return
if(// условие)
{
return // какое то значение;
}
// какой то код, который выполнится при ложном условии в if
}
Пишите чистый код. Это когда код простой и читаемый. Почему читаемый? Потому что 80% времени разработчик ЧИТАЕТ код, а только 20% пишет его.
PS. Еще больше разборов "НЕ чистого" кода и их перевод в чистый вид найдете в курсе PRO C#. Чистый код.
#полезные_материалы #чистый_код