이 코드를 어떻게 리팩터링 하시겠습니까? (테니스-3-모던)

export class TennisGame {
  constructor(p1N, p2N) {
    this.p2 = 0;
    this.p1 = 0;

    this.p1N = p1N;
    this.p2N = p2N;
  }

  getScore() {
    let s;
    if (this.p1 < 4 && this.p2 < 4 && this.p1 + this.p2 < 6) {
      const p = ["Love", "Fifteen", "Thirty", "Forty"];
      s = p[this.p1];
      return this.p1 == this.p2 ? `${s}-All` : `${s}-${p[this.p2]}`;
    } else {
      if (this.p1 == this.p2) return "Deuce";
      s = this.p1 > this.p2 ? this.p1N : this.p2N;
      return (this.p1 - this.p2) * (this.p1 - this.p2) == 1
        ? `Advantage ${s}`
        : `Win for ${s}`;
    }
  }

  wonPoint(playerName) {
    if (playerName == "player1") this.p1 += 1;
    else this.p2 += 1;
  }
}



저는 Tennis-3 리팩토링 카타의 최신 버전을 만들었습니다. 수업은 게임의 테니스 점수를 계산합니다. GitHub에서 테스트 스위트를 포함한 전체 코드를 찾을 수 있습니다.

어떻게 리팩토링 하시겠습니까?

좋은 웹페이지 즐겨찾기