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

[Wordle] 호우팀(HoeStory) 미션 제출합니다. #18

Open
wants to merge 17 commits into
base: main
Choose a base branch
from

Conversation

cousim46
Copy link

@cousim46 cousim46 commented Jun 16, 2024

안녕하세요 호우팀 정회운입니다.
워들 미션을 진행하면서 페어프로그래밍의 중요성을 느낄 수 있었습니다.
지금까지 개발을 하면서 페어프로그래밍을 한번만 해보고 그 뒤에는 할 기회가 없었습니다. 그런데 이번 워들 미션을 통해 다시 페어프로그래밍을 하게 되었는데 저에게는 많은걸 배울 수 있던 기회였던거 같습니다.
배울 수 있던 부분은 주 언어를 자바로 사용하는데 이번에 페어를 하시는 분과 함께 코틀린을 도전해봤습니다.
저는 코틀린을 혼자 사이드 프로젝트를 경험을 해보기만 했지 다른 사람이 코틀린 코드를 어떻게 작성하는지 몰랐는데 이번에 같이 페어프로그래밍 하는 우유님께서 코틀린을 사용하시는 법 보고 "저런 방법으로도 코드를 작성 할 수 있구나"라고 느끼면서 배웠습니다.

개발은 혼자 코드를 잘 작성해도 되지만 페어프로그래밍을 해서 팀원과 합을 맞추는것도 재밌고 도움이 된다는것을 이번 미션을 통해 느꼈습니다.

- 단어가 존재하지 않을 경우
- 단어가 존재 할 경우
- 현재날짜 기준으로 단어 추출
- 스테이지 상태가 fail
- 스테이지 상태가 progress일때
- 정답을 맞췄을때
- 정답을 맞추지 못했을때
- 완전히 동일한 단어리 경우
- 포함되어있지만 위치가 일치하지 않을 경우
- 단어 포함, 위치 일치
- 단어는 포함되어 있으나 위치가 일치하지 않고 정답개수의 단어보다 입력 갯수가 더 많을 경우 일치한 횟수(왼쪽에서 오른쪽으로 계산)가 적을 경우
- 단어는 포함조차 안되어있을 경우
- 모두 영문으로 구성
- 5글자가 아닐 경우
- 영어를 대문자에서 소문자로 치환
- 단어가 존재하지 않을 경우
- 파일에서 특정 단어 추출
- 단어 존재여부 체크
- 게임 시작 문구
- 정답 입력 요청 문구
- 결과 문구
- 게임 진행 여부
- 게임 플레이
- 단계별 답 체크
- 단어 5글자 여부 체크
- 단어 영문 여부 체크
- 존재 야부 체크
- 소문자로 치환
@cousim46 cousim46 changed the title [Wordle] 호우(정회운) 미션 제출합니다. [Wordle] 호우팀(정회운) 미션 제출합니다. Jun 16, 2024
@cousim46 cousim46 changed the title [Wordle] 호우팀(정회운) 미션 제출합니다. [Wordle] 호우팀(HoeStory) 미션 제출합니다. Jun 17, 2024
Copy link

@ckr3453 ckr3453 left a comment

Choose a reason for hiding this comment

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

안녕하세요! HoeStory님의 리뷰를 담당하게된 kr 입니다. 이번 미션 진행하시느라 정말 수고많으셨습니다!

약 2주라는 짧은 시간에 개발을 다 하셨다는게 믿기지 않을 정도로 코드 퀄리티가 좋아서 감탄했습니다.

중간중간마다 제가 생각한 부분들을 조금 작성해 보았으니, 확인해 보시고 코멘트 달아주시면 성실히 답변드리겠습니다.

src/main/kotlin/dictionary/Dictionary.kt Show resolved Hide resolved
src/main/kotlin/Game.kt Show resolved Hide resolved
src/main/kotlin/Computer.kt Outdated Show resolved Hide resolved
Comment on lines +16 to +18
operator fun get(index: Int): String {
return words[index]
}
Copy link

Choose a reason for hiding this comment

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

operator 키워드를 사용하여 연산자 오버로딩을 구현하셨네요! 좋습니다. 👍

src/main/kotlin/stage/Stage.kt Show resolved Hide resolved
@@ -0,0 +1,58 @@
package stage.step

data class Step(val code: List<Result>) {
Copy link

Choose a reason for hiding this comment

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

필드명을 code가 아닌 results 와 같이 좀 더 명확한 의미를 담는 이름으로 명명해보면 어떨까요? 🤔

Copy link
Author

Choose a reason for hiding this comment

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

그게 좋을거 같네요! 클래스는 result인데 변수가 code인게 이상하네요! 수정하겠습니다!

Comment on lines 49 to 51
Step.Result.CORRECT -> str.append("\uD83D\uDFE9")
Step.Result.MISMATCH -> str.append("\uD83D\uDFE8")
Step.Result.WRONG -> str.append("⬜")
Copy link

Choose a reason for hiding this comment

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

결과에 따라 타일로 표현하는 구문이군요! 좋습니다. 타일도 결과(CORRECT, MISMATCH, WRONG)와 동일하게 변하지 않는 값이다보니 Enum 혹은 상수로 관리하신다면 더더욱 좋을것 같습니다 👍 👍

Copy link
Author

Choose a reason for hiding this comment

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

얼른 결과를 보고싶은 마음에 이렇게 했던거 같습니다! 수정하겠습니다! 감사합니다!

}
}

fun fromInput(input: String, dicPolicy: (s: String) -> Boolean = { _ -> true }): Word {
Copy link

Choose a reason for hiding this comment

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

람다를 활용하여 이렇게도 사용이 가능하군요! 배워갑니다..! 😃

Copy link
Author

Choose a reason for hiding this comment

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

우유님이랑 페어프로그래밍하면서 저도 배운 부분입니다 ㅎ,,

state = State.COMPLETE
}

if (steps.size == 6 && state != State.COMPLETE) {
Copy link

Choose a reason for hiding this comment

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

총 6번의 기회를 뜻하는 매직넘버는 상수로 따로 관리해도 좋을것 같습니다 👍

Copy link
Author

Choose a reason for hiding this comment

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

넵! 수정하겠습니다!

Copy link

Choose a reason for hiding this comment

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

꼼꼼한 테스트 작성 좋습니다 👍

Copy link
Author

Choose a reason for hiding this comment

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

감사합니다 :)

@cousim46
Copy link
Author

cousim46 commented Jul 3, 2024

정말 꼼꼼히 봐주셔서 감사합니다! 리뷰 반영하였습니다! 만약 이상한 부분있다면 편하게 말씀해주시면 감사하겠습니다!

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