First Commit
Check conflict
Docs : Modify README
Feat: Make blueprint
화요일에는 Git에 대해 익숙하지 않던터라 Git 사용법을 중심으로 학습했습니다.
저녁에는 코드의 동작순서가 잘 보이게끔 코드의 청사진을 작성했습니다.
(함수의 구체적인 구현 X, API Design Guideline을 정독하며 함수명과 변수명 짓기 O)
Feat : implement makeRandomNumber()
Feat : implement getUserInput() and startGame()
Feat : implement judge()
Feat : implement playGame() and printResult()
Refactor : delete printResult()
Style : Revise incorrect spacing
Step1을 마친 날입니다. Step1에서 구현해야하는 함수들을 전부 네이밍을 고심하여 구현한 뒤 첫 PR을 보냈습니다.
Chore : Setup to merge with step1
Docs : Fix README's conflict
Feat : Implement printMenu(), GameError protocol and modify startGame()
Feat : Modify playGame() and getUserInput()
Feat : Modify getUserInput() and playGame() -- for satisfy specification of step2
Refactor : Delete printResult() -- for code brevity
Refactor : Modify judge() -- simplify nested for loop
Feat & Refactor : Implement initialize(). Modify startGame() and playGame() -- for code brevity
Refactor : Increase code brevity by using switch statement and GameError protocol
Style : Change some variable identifiers and revise spacing
Step2로 넘어와 작업을 시작한 날입니다. 밤의 피드백을 바탕으로 개선할 점들을 개선했습니다.
Subscript를 통한 접근시에 위험할 수 있다는 피드백을 받고 같이 Subscript에 대해 공부했습니다.
Set을 사용하여 judge함수에서 구현한 이중 for문을 단일 for문으로 바꿔줬습니다.
이날 저녁에 Step2의 PR을 보냈습니다.
Fix : Turn back way to approach array's element in judge()
Fix : Block repeated integer value from userInput
Refactor : Simplify playGame() by pulling out code from do-catch statement
Refactor : Simplify userInput Array in playGame()
Fix : Fixed printing Win/Lose statement in correct order
밤이 보내주신 피드백을 바탕으로 몇가지 오류를 수정하고 코드 간결성을 개선했습니다. (Step2 2차 PR 보냄)
이 날은 팀원과 함께 모나드를 공부하기로 했는데 공부하다보니 클로저에 대한 이해를 먼저 높이는게 맞다고 생각하여 클로저를 집중적으로 공부했습니다.
리뷰어 밤이 Subscript로 입력을 받으면 에러가 발생할수도 있다고 알려주셨는데 Subscript가 무엇인지에 대해서 공부함
Error 프로토콜 사용법에 대해 공부함
Git에 대해 공부함
배열의 contains(_:) 메서드에 대해 공부함
초기화 함수명으로 initializer() 과 initialize() 중에 무엇이 더 적합할지 고민함
Array의 메서드 중 하나인 enumerate() 를 활용하여 코드를 간결하게 만들 수 있는 방법에 대해 고민함
클로저에 대해 함께 자세히 공부함
API Design Guide를 같이 정독함