У меня есть следующий код, который отлично работает. Однако, просто глядя на меня, я считаю, что должен быть более короткий, более элегантный способ. Switch(), очевидно, не является ответом, поэтому я застрял с вложенными if.Сокращение вложенных IFs
if (mode == 1)
{
if (distance <= 4000)
{
modeValue = "1F";
}
else if (distance > 4000 && distance <= 8000)
{
modeValue = "2F";
}
else if (distance > 8000 && distance <= 12000)
{
modeValue = "3F";
}
else if (distance > 12000)
{
modeValue = "F 0-5";
}
}
else if (mode == 2)
{
if (distance <= 500)
{
modeValue = "";
}
else if (distance > 500 && distance <= 4000)
{
modeValue = "2F";
}
else if (distance > 4000 && distance <= 8000)
{
modeValue = "3F";
}
else if (distance > 8000 && distance <= 12000)
{
modeValue = "4F";
}
else if (distance > 12000)
{
modeValue = "F 0-5";
}
}
Любые предложения?
вы должны попробовать этот вопрос на [CodeReview] (http://codereview.stackexchange.com/) – Jonesopolis
Один из способов его очистки - это методика всего этого. Другой способ делать вещи - это расстояние до свойства объекта, содержащего метод вывода modeValue, основанный на логике, которую вы указали выше. Не избавляется от него вообще, но делает его более организованным. –
Короче не всегда лучше. Если код работает, его легко понять и сохранить, тогда вы должны оставить его как есть. – Nasreddine