동네북 되돌아보기

Kang Hee Young·2022년 1월 8일
0
post-thumbnail

📱 Released

Github

우리 동네 책 소셜 커뮤니티 플랫폼

처음으로 만들고 배포한 어플, 동네북

몇 차례 앱 제작을 위한 공부를 시도 했었지만 동기부여와 학습방법을 찾기 어렵단 핑계로 진행되지 않았던 앱 만들기 프로젝트를 42Seoul에서 진행된 openProject를 통해서 경험해볼 수 있었다.
단순히 앱을 만들어서 배포해보자라는 목표로 같이 공부하던 친구들과 팀을 구성하게 되었고 앱 기획부터 제작 그리고 배포까지 경험해볼 수 있는 프로젝트였다.

정해진 일정안에 배포를 목적으로 하다보니 놓치고 올바르게 작성하지 못한 코드들을 확인하는 내용.
+. 아쉬운내용

OOP

-. 가장 큰 데이터인 책과 관련된 데이터들을 객체화 시킨다면 불필요하게 반복되는 코드들을 지울 수 있다.
모델을 수정하였을때 관련된 코드들이 워낙 산발적으로 분포해있고 각자 사용하는 방식이 다르다보니 모델을 수정 할 여유가 없었음. 객체화 시켰다면 한명이 수정해서 배포하면 간단하게 해결 되었을텐데 git 충돌이 무서워서 & 시간이 없다는 핑계로 하지 못함.
-. MVVM과 같은 Architecture를 학습하지 못하였었기에 Architecture를 적용해보지 못한것에 대한 아쉬움. 일단 배포는 어찌어찌 하였으나 유지보수를 하기 위해 코드를 다시 열어보니 처참하다.
-. 무엇보다 OOP에 대한 이해 내용이나 소프트웨어 설계 기술이 부족함을 크게 느꼈다.

비동기

-. firebase와 통신할때 비동기와 관련된 문제가 빈번히 발생하였다. async await 등 여러 방법들을 적용해보았는데 Completion이 가장 이해하기 쉬웠다. Combine, RxSwift, NotificationCenter와 같은 다양한 비동기 처리 방법들을 학습하지 못해 적용해보지 못한 것은 큰 아쉬움이 남는다.
그 당시에는 보이지 않았던 내용들인데 지나고 나서 천천히 검색해보니 보인다.

git commit message

-. git commit 250개, closed issue 78개, PR 112개 꽤 많은 양의 코드를 작성하고 지우고를 하였는데 각 로그 기록들이 부족하고 정리가 잘 되어있지 않다. 프로젝트가 끝날때 쯤에야 git commit, issue, pr에 대한 template을 작성하고 적용하였는데 시작부터 적용했으면 분명 더 좋은 기록이 되었을 것이다.

SwiftLint

-. 3명이 하나의 프로젝트를 진행하고보니 코드 작성스타일이 천차만별이다. camelCase도 어느순간 사라지기도 하고 정해진 것이 없이 기능구현에 초점을 맞췄더니 클래스, 변수, 함수 등 모든 것들의 이름부터 기능이 제각각이다. 기능 테스트를 위해 작성되었던 파일과 변수명이 어느새 프로젝트 내에 들어와 있기도 하고 파일들이 많아지니 관리가 안되는게 확실히 느껴졌다.

profile
hekang in 42Seoul.

0개의 댓글