Как написать трекер для игры в теннис, используя правила хорошего кода - PullRequest
0 голосов
/ 10 октября 2019

Я написал приложение, которое возвращает текущий счет в теннисном матче, такой как текущий счет в сетах, текущий счет в играх, текущие очки. Оценка меняется, когда игрок 1 или 2 выиграл очко. Я сделал это самым простым способом, просто имейте 3 функции в каждом из условий проверки в ifs, а затем перейдите к следующему методу следующим образом:

Score {
    Point currentPoints;
    Integer currentGamesWon;
    Integer currentSetsWon;
}

addPoint (playerScore, rivalScore){
        if(15)
            set 30;
        ...
        if(40 && more than 2 points of advantage)
            setGamesWon()
    }

setGamesWon(playerScore, rivalScore) {
   gamesWon++;
   if(games won > 6 && advantage > 2 && NotFifthSet) {
       setSetsWon(playerScore, rivalScore);
   }
}

setSetsWon(playerScore, rivalScore) {
    ...
}

Я, к сожалению, не могу поставить здесь полную реализацию, но янадеюсь, вы понимаете идею. Был также код разрыва связи и вся необходимая логика.

И мой вопрос: вы видите какой-нибудь умный способ написать это? Я имею в виду использование шаблонов проектирования или какой-нибудь умный способ удалить много if, которые есть в текущем решении?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...