Daily 2018-10-09

  • 프로그램을 시작하면 사용자가 입력해서 변환이 가능한 단위들을 메뉴처럼 표시하려면 어떻게 하면 될까?
  • 사용자가 입력할 때 실수를 덜하도록 유도하는 방법은 무엇일까?
  • 단위가 추가될 때마다 개선하기 편한 코드와 메뉴 구성은 어떤 방식일까?
  • 사용자가 입력한 값 하나로 여러 단위로 변환해서 출력하도록 개선하려면?
  • 예를 들어 “1.83m”라고 입력하면 1.83 미터 값을 각각 센티미터, 인치, 야드 단위로 모두 바꿔서 한꺼번에 출력한다.
  • “1.83m inch,yard”라고 입력하면 1.83 미터 값을 각각 인치, 야드 단위로만 바꿔서 출력한다.

리뷰 1

  • 맨 아래 입력받는 단란도 별도 함수로 분리해보세요.
  • printUnit(_ state : Double,_ unit:String) 에서 _를 붙이면 해당 매개변수가 어떤 역할을 하는지 헷갈릴 수 있습니다. 스위프트는 생략하지 않고 좀 더 구체적인 의도를 표시하는 게 중요합니다.
  • changeUnit() 함수가 너무 길어집니다. 단위가 늘어나도 함수가 늘어나지 않도록 구현할 수 있을까 고민해보세요.
  • cutValue() 함수도 하나로 모든 것을 구현하기 보다는 내부에서 사용하는 함수를 분리해보세요.
  • 스위프트 API 디자인가이드 문서를 읽어보고 함수이름과 변수이름을 조금더 구체적으로 만들어보세요.

리뷰 2

전체적으로 기본적인 문법과 기능 구현을 위한 함수를 작성하는 부분은 충분한 것 같습니다. 단순하고 반복되는 문제를 쉽게 풀어가는 습관을 만들어봅시다. 다음 미션부터는 github을 활용해서 단계마다 피드백을 받아서 개선해야 합니다. git 명령어 활용하는 방식과 PR 보내고 다시 pull + rebase 하는 단계 등을 연습해보세요. 이제는 함수 구현 자체보다도 데이터 구조를 만들고 다른 함수나 다른 객체로 넘기는 설계를 연습해보세요.

Written on October 9, 2018