我有以下代碼完美地工作。然而,看着它讓我相信必須有一個更短,更優雅的方式。 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