TWL - 2021.02.23 ~ 2021.02.26

Youngwoo Lee·2021년 3월 1일
0

Git Commit Log를 통해 보는 타임라인 (With Neph3779)

  • 2021.02.23 (화)

    • First Commit

    • Check conflict

    • Docs : Modify README

    • Feat: Make blueprint

      화요일에는 Git에 대해 익숙하지 않던터라 Git 사용법을 중심으로 학습했습니다.
      저녁에는 코드의 동작순서가 잘 보이게끔 코드의 청사진을 작성했습니다.
      (함수의 구체적인 구현 X, API Design Guideline을 정독하며 함수명과 변수명 짓기 O)


  • 2021.02.24 (수)

    • 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을 보냈습니다.


  • 2021.02.25 (목)

    • 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을 보냈습니다.


  • 2021.02.26 (금)

    • 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가 무엇인지에 대해서 공부함

    • 연산자 프로퍼티 (get, set) 에 대해서도 알아봄
  • Error 프로토콜 사용법에 대해 공부함

    • enum에 대해 살짝 알아봄
    • throw, do-catch문에 대해 공부함
  • Git에 대해 공부함

    • Git의 기본 명령어 (add, commit, push, pull ... ) 을 알아봄
    • Git의 작동원리 (working directory, staging area, local repository, remote repository) 을 알아봄
    • 헷갈리는 용어들 (origin, master/main, Head) 을 알아봄
    • Git의 commit 관리 명령어 reset, revert의 차이에 대해 알아봄
    • Git commit msg를 효율적으로 짓는 방법에 대해서 알아봄
  • 배열의 contains(_:) 메서드에 대해 공부함

    • contains의 작동방식에 대해 공부함 (Time complexity 측면에서 이득일까? )
  • 초기화 함수명으로 initializer() 과 initialize() 중에 무엇이 더 적합할지 고민함

    • 이 과정에서 함수명, 변수명을 짓는 방법에 대해서 공부함
  • Array의 메서드 중 하나인 enumerate() 를 활용하여 코드를 간결하게 만들 수 있는 방법에 대해 고민함

    • 이 과정에서 map에 대해서도 공부함
  • 클로저에 대해 함께 자세히 공부함

    • 이 과정에서 함수객체에 대해서도 공부함
    • 이 과정에서 lazy sequence에 대해서도 공부함
      • 이 과정에서 동기, 비동기에 대한 기본 개념에 대해서 공부함
  • API Design Guide를 같이 정독함

    • 이 과정에서 변수명, 함수명을 짓는 방법에 대해서 공부함
      • Udacity Git Commit Message Style Guide

잘한 점

  • API Design Guide를 번역하지 않고 같이 정독함
    • 이를 최대한 잘 반영하여 숫자야구게임 코드를 작성함
  • Commit message 규칙을 잘 지켜서 Commit함
    • Karma Style에 대해서도 익힘
  • 스크럼 일정을 잘 지킴
    • 규칙적으로 생활함
  • 모르는게 생기면 developer.apple에 들어가서 공식문서들을 정독함
profile
iOS Developer Student

0개의 댓글