ESTCAMP iOS 4기 2차 프로젝트

서정원·2025년 9월 20일
1

이스트캠프 2차(2025. 09. 04 ~ 2025. 09. 17) UIKit 프로젝트를 진행하고 개인적으로 남기는 후기입니다!

이번 프로젝트를 진행하면서 배운 점이 많은 프로젝트였습니다.
개구리맛집 레포지토리

그 중에서 가장 크게 느낀 점은 코드 계층의 분리 필요성 입니다.

그건 당연한거 아닌가?

맞습니다. 저 또한 코드를 분리해야 하는 걸 인지하고 있었지만, 기능 구현에만 급급해서 지킨 적이 많이 없었습니다.

과거엔 어떻게 짰나

예전에 진행했던 토이 프로젝트에서는 하나의 Service 파일에 URL, header, parameter, query 등 요청 실행 로직까지 하나의 파일에서 개발을 진행했습니다. 하지만 개발을 들어가기 전 팀원분의 조언을 받아적은 다음 말씀해주신 내용에 대해서 고민을 하게 됐습니다. 어차피 api는 정해졌고, 어떤 요청을 보낼지도 확정이 된 상태에서 굳이 코드 계층을 분리해야하나? 라는 생각이 들었고, 팀원분이 예전에 진행하셨던 프로젝트를 pull 받아서 코드 구조를 살펴보기 시작했고, 남의 코드를 따라가며 이해하는 일은 생각보다 쉽지 않아, 질문을 드리면서 방향이 선명해졌습니다.

핵심은 이겁니다. API가 변경되더라도, URL, 파라미터 등을 다루는 부분만 수정하면 된다. 그러면 Service 전체를 흔들 필요가 없고, 의존성이 명확해진다. 즉, 변경 비용이 줄어든다.

이와 같은 배움도 있었지만, 저의 문제점이 있었습니다.

제가 이번에 특히 경계해야 한다고 느낀 가정은 안 바뀔 것 같은 API 라는 가정이 가장 큰 위험요소 인 것 같습니다. 이번 프로젝트를 진행하면서 개발을 하다보면 요구사항은 언제든 바뀔 수 있다 라는 전제를 가지고 구조를 잡는 것이 장기적으로 봤을 때 비용을 줄일 수 있다는 것을 배웠습니다.

물론 이번 API를 충분히 검토하지 못해 response 값에 AVPlayer로 재생가능한 URL이 없다는 사실을 늦게 파악해 작성했던 코드는 사용하지 못했지만, 다음을 확실하게 배웠습니다.

  • 구조는 기능보다 먼저다. 구조를 먼저 잡아두면 기능 변경 및 추가하는 것이 낫다.
  • 외부 API는 가능한 것 같다 가 아니라 확실하다 등의 대답이 가능해야 한다. 문서만 보고 믿지 말고, 실제 재생까지 확인을 했어야 한다.

이번 프로젝트를 통해서 당연히 지켰어야 할 것들을 지키지 못한 저의 태도를 반성할 수 있는 기회가 됐고, 프로그래밍 사고방식을 키울 수 있는 좋은 기회였습니다.

이상으로 후기를 마칩니다! 이스트캠프 iOS과정에 대해 궁금한 점 댓글로 남겨주시면 최대한 빠른 시일 내로 답변드리겠습니다!!

profile
개념의 배경에 집중합니다🔥

1개의 댓글

comment-user-thumbnail
2025년 11월 6일

구조가 참 중요하죠..

답글 달기