이 코드를 어떻게 리팩터링 하시겠습니까? (테니스-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에서 테스트 스위트를 포함한 전체 코드를 찾을 수 있습니다.
어떻게 리팩토링 하시겠습니까?
Reference
이 문제에 관하여(이 코드를 어떻게 리팩터링 하시겠습니까? (테니스-3-모던)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/lgrammel/how-would-you-refactor-this-code-tennis-3-modern-40h7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)