我寫一個方法,並想知道如果附帶的代碼是有效取決於它是怎麼寫的:高效的編程技術
public boolean isThreeOfKind(PlayingCard[] hand)
{
// if(hand[0].getRank() == hand[2].getRank())
// return true;
// else if(hand[1].getRank() == hand[3].getRank())
// return true;
// else if(hand[2].getRank() == hand[4].getRank())
// return true;
return (hand[0].getRank() == hand[2].getRank() ||
hand[1].getRank() == hand[3].getRank() ||
hand[2].getRank() == hand[4].getRank());
}
所以你可以看到我有一個if else if語句可評論out和return語句基本上做同樣的事情,根據編碼標準,這會更有效率嗎?
可讀性遠在這種情況下,比效率更有價值。使用哪個更容易理解。 – Jeffrey
在遙遠的土地和語言中,邏輯操作比分支要快得多。但現代編譯器已經把我們全部變成了代碼猴,所以只需使用任何漂浮在你的船上的東西。 – Perception
嗯看起來像'手'中的'玩牌'更好地按價值排序。花了我一分鐘來弄清楚這將是'一種三'。只是說' –