I ' Мы ответили на темы здесь (или, по крайней мере, прокомментировали ) ответами, содержащими подобный код, но мне интересно, хорошо или плохо писать серию if
ветвей с одним (или более) ветвей, ничего не делающих в них, как правило, для исключения проверки на null
в каждой ветке.
Пример (код C #):
if (str == null) { /* Do nothing */ }
else if (str == "SomeSpecialValue")
{
// ...
}
else if (str.Length > 1)
{
// ...
}
вместо:
if (str != null && str == "SomeSpecialValue")
{
// ...
}
else if (str != null && str.Length > 1)
{
// ...
}
И, из Конечно, это всего лишь пример, поскольку я обычно использую их с более крупными и сложными классами. И в большинстве этих случаев значение null
будет означать, что ничего не делать.
Для меня это снижает сложность моего кода и имеет смысл, когда я это вижу. Итак, это хорошая или плохая форма (даже запах кода)?