STEP 2 UnitConverter 셀프 체크리스트 - hwj0623/ios_swift GitHub Wiki
체크리스트
written in 04/05. Fri
개발 환경에서 가장 학습하기 어려웠던 항목
extension 내 정규식 표현으로 문자/숫자 구분, 문자열의 숫자타입변환.
** 스위프트 문법과 지식
스위프트 API 설계 가이드라인
학습하기- 스위프트
기본 데이터 타입
활용하기 - 정수 - 실수 타입 변환하기
- 문자열 - 숫자 타입 변환하기
- print() 함수 다양한 형태로 응용하기
- Array 배열로 여러 값 다루기
if-else
,switch-case
로 상황에 따라 비교하기옵셔널(optional) 타입
응용하기- String 문자열 타입 다양하게 응용하기
do-try-catch
구문과throw
방식 응용하기Enum
열거 타입으로 케이스 구분하기
이번 미션에서 공부한 스위프트 문법 중에서 학습하기 가장 어려웠던 것은 어떤 것인가요?
정규식 및 형변환 다루기
개발 경험
- github 저장소 만들기
- github 저장소에 새 프로젝트 연결하기
한 가지 역할만 하는 함수
만들기함수 호출 관계 분석
반복
되고중복
된 코드 개선
그 외에 학습하기 어렵거나 시간이 오래 걸린 것은 무엇이고, 어떻게 극복했나?
코드 재사용성 높이기(리팩토링). 함수 간 기능 분리. enum 구조에서 딕셔너리 구조로 재 리팩토링하면서 함수내 상수에 의존하던 코드를 입력 인자에 의존하도록 전환하는 작업 수행
추가 학습
- 질문들에 대해 본인만의 답변을 정리
- 프로그램을 시작하면 사용자가 입력해서 변환이 가능한 단위들을 메뉴처럼 표시하려면?
사용자와 interact 할 수 있도록 기본 입력 포맷을 조정. ARS 서비스 등을 참고하여 번호 입력으로 프로세스의 세분화를 유도
가령, [1] 거리변환(cm, m, inch, yard) [2] 무게변환(g,kg,lb,oz) [3] 부피변환(L, gal, qt,pt) 등에 숫자 입력 받고 다음 입력을 세분화
- 사용자가 입력할 때 실수를 덜하도록 유도하는 방법은 무엇일까?
print 메시지 등으로 먼저 입력 예제 표시 uppercase 를 lowercase로 변환하는 전처리 작업 정규식 표현으로 구분자를 유연하게 구분하도록 처리 (ios 개발을 가정하여) 숫자입력 text와 단위변환 selector를 구분지어 1inch8 (18inch 오타 )등을 방지
- 단위가 추가될 때마다 개선하기 편한 코드와 메뉴 구성은 어떤 방식일까?
dictionary를 사용하면 dictionary에 해당하는 값들만 CRUD 하고, 메서드 변환을 가급적 피할 수 있지 않을까 싶다.
- 사용자가 입력한 값 하나로 여러 단위로 변환해서 출력하도록 개선하려면?
입력 단위를 배열로 받아서 (ex: [ from, to1, to2, to3...]) 로 입력받아서 for loop를 돌려서 함수를 반복 호출. 이때, 직접적으로 단위 환산을 시도하는 함수 외에 Caller 함수 중에서 해당 기능을 담당하여 수정하는 것도 중요. (각 메서드의 고유 기능 유지)