Я пишу метод, и хотел бы знать, если приложенный код эффективен в зависимости от того, как написано:Эффективные методы программирования
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());
}
Так как вы можете видеть, у меня есть, если еще, если заявление прокомментировал и заявление о возврате, делающее то же самое в основном, что было бы более эффективным и в соответствии со стандартами кодирования?
Читаемость является гораздо более ценным в этом случае, чем эффективность. Используйте то, что вам легче понять. – Jeffrey
В стране и языке далеко, далеко, логические операции были намного быстрее, чем ветвление. Но современные компиляторы превратили всех нас в кодовых обезьян, поэтому просто используйте все, что плавает на вашей лодке. – Perception
Хммм похоже, что 'PlayingCard' '' '' лучше сортироваться по значению. Потребовал мне минуту, чтобы понять, как это будет «три в одном». Just sayin ' –