링크 : https://developer.apple.com/videos/play/wwdc2019/239/
Organize
- xcode - group 사용해서 조직화하기 (organize)
- 프로젝트 구조를 파일 구조로 표현
- 스토리보드 - 각 메이저 섹션마다 다른 스토리보드 파일을 사용하기 (storyboard reference)
- 엑코 설정 업데이트 / 엑코 최신화 추천
- 안쓰는 코드는 주석으로 두지 말고 삭제하기.
- warning은 error로 취급.
Track
- 커밋은 작은 단위로 하라. 이전 히스토리를 살펴보면서 변경이 쉽게.
- 유용한 commit message 써라! - clean and helpful
- 혼자라도 소스 컨트롤을 팀이 하는것처럼 하기.
Document
- 왜 이 코드가 쓰여졌는가? 이 코드가 전체에서 어떤 부분을 차지하는가?
- 좋은 주석이란 이 코드가 왜 쓰여져있는지를 말해주는 것.
- 코드 구조나 기술이 아닌 이것이 어떤 일을 하는지 말해줘야 한다.
- 변수명 디테일하게 짓기. 어차피 엑코 자동완성이 도와주니까 길이 걱정 x
- 옵션 + 커맨드 + 물음표 : 자동 문서화 단축키
Unit Tests
- 프로그래밍 다 끝나고 유닛 테스팅 하는게 아니라 프로그래밍 중간에 유닛 테스트 같이 하기
- 각 커밋 전에 유닛 테스트 돌리기
- hidden detail!
Analyze
- 네트워크 시뮬레이터로 다양한 네트워크 컨디션을 적용하여 앱을 테스트해볼 수 있다.
- 좋지 않은 네트워크 상태도 시뮬레이트 해보기
- sanitazer와 checker 사용하기
- debug gauges를 사용해서 성능과 효율성을 분석해보기
- instruments 사용해서 issue 해결해보기
Evaluate
- 동료를 찾아서 코드 리뷰를 해보기 → 코드 리뷰를 연습의 하나로 해보기
- 각 라인을 하나씩 이해하면서 보기
- 실제로 빌드해보기
- test 실행해보기
- 스펠링과 문법 에러 잡아내기
위와 같은 습관들은 단기적으로는 시간이 더 오래 걸린다고 생각할 수 있지만 장기적으로 볼 때 시간이 더 아껴진다.
Decouple
- functional segment 정해서 break them out
- Scale your work across multiple apps
- extension 사용해서 효율성 높이기
- 문서화 빡시게 해서 공유하기 / 본인이 스스로 사용하기
Manage
- 오픈소스 프로젝트를 책임감 있게 사용하기
- 의존성을 정확히 이해하기
- 앱이 사용하는 각종 의존성에 대해 계획을 가지고 있어야 한다.
- 내 데이터를 어떻게 사용하는지 정확히 알아야 함.
- 사용중인 프레임워크가 사라진다면..? → 의존성이 있는 프레임워크가 사라졌을 때 어떻게 해야 하는지 염두해두기.