Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

가위바위보게임 [STEP 1] caron #11

Open
wants to merge 3 commits into
base: rft_2_caron
Choose a base branch
from

Conversation

Qussk
Copy link

@Qussk Qussk commented Mar 22, 2024

질문사항

  1. GameView에 있는 fileprivate enum의 Hand를 공유해도 되는 건지.? 일단 따로 쓰긴했습니다..

참고:
제가,, 다 하고 보니까 뭔가 처음에 가위바위보내는 부분을 랜덤하게 해야했던거 같은데 그부분을 못했고.. ㅠㅠ
3회 처리하는곳도 따로 빼야 했던거같은데..

기능은 미완이지만 아키텍처부분이나 TDD등등 쪽으로 리뷰 부탁드립니다. ㅠㅠ
죄송해요..다음 step2하면서 추가적으로 해보겠습니다!! ㅠㅠ

Copy link

@lnj0945 lnj0945 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

안녕하세요. @Qussk !

세 번째 프로젝트까지 진행해보셨네요!👍

구현하신 부분에 모호한 점이 조금 있어서 해당 부분에 대한 코멘트를 달아보았습니다!
코멘트달린 내용에 대해 고민해보고 확인해보면 좋을 것 같습니다!

기획의 변경에 대해서 최대한 열린 코드로 작성해봅니다
*/

func test_승패판결_주먹_가위_보가아니면_에러() {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

테스트명과 내용을 보면 어떤 테스트를 진행하는 지 알기 어려워보입니다.
진행할 테스트에 대한 이름으로 수정하거나, 내용을 개선해볼 수 있을까요?

func test_승패판결() {
//given
let input: [String] = ["🖐️", "✊"] //✊
var count: [Int] = [0,0] //테스트를 위해 임의로 만듦.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

count 라는 프로퍼티명과 [0, 0] 배열이 어떤 의미를 나타내는 지 알기 어려워보입니다.
조금 더 구체적으로 표현해볼 수 있을까요? 새로운 타입으로 나타내보는 것은 어떨까요?


func test_삼세판_진행() {
//given
var input: [Int] = [2,1]
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

input: [Int] = [2,1] 배열이 어떤 의미를 나타내는 지 알기 어려워보입니다.
조금 더 구체적으로 표현해볼 수 있을까요?

XCTAssertEqual(result, [true, false])
}

func test_삼세한_르푸() {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

테스트명을 이해할 수 있도록 작성해볼 수 있을까요?

Comment on lines +80 to +83
func test_삼세판후_대결결과() {
var input: [Bool] = [true, false]

}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

셈세판 후 결과에 대한 테스트를 추가해보면 좋을 것 같습니다!

Comment on lines +29 to +34
case ["🖐️", "✊"] : return win
case ["🖐️", "✌️"] : return lose
case ["✊", "✌️"] : return win
case ["✊", "🖐️"] : return lose
case ["✌️", "🖐️"] : return win
case ["✌️", "✊"] : return lose
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

패를 이모지로 나타내신 이유가 있을까요?
새로 정의하신 Hand 타입을 활용해보는 것은 어떨까요?

}


func rpsModify(of rps: [String]) throws -> Bool {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rpsModify 메서드명을 보고 어떤 역할을 수행하는 지 모호해 보입니다.
더 이해하기 쉬운 이름으로 변경할 수 있을까요?

var countting = self.count

while !besttwooutOfthree(of: 3, in: countting)[0] && !besttwooutOfthree(of: 3, in: countting)[1] {
print(self.count)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

어떤 용도로 사용하는 print문일까요? 불필요하다면 제거하는 것이 어떨까요?

return fightToResult(of: besttwooutOfthree(of: 3, in: countting))
}

//손인지 확인
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

꼭 필요한 주석일까요? 메서드명을 명확하게 작성해서 의도를 잘 나타내보면 좋을 것 같습니다!

}

//손인지 확인
private func rpsHandsCheck(of rps: [String]) -> Bool {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

API 디자인 가이드에 따라 메서드명을 동사형으로 시작해보는 것은 어떨까요?
다른 메서드도 확인해보면 좋을 것 같습니다!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants