⚙Fact
1. 프로젝트 설계 단계
2. 개발 시작
⚙Feeling
1. 프로젝트 설계의 중요성
프로젝트 시작하기 앞서 프로젝트를 설계하는 단계가 얼마나 중요한지 느낄 수 있었다. 팀원들과 함께 디테일 신경쓰면서 구상했다고 생각했지만, 막상 개발이 시작되고선 API 주소이름, 프론트 부분, DB 할당, 변수이름 스타일 등 여러 상황에서 불편이 발생했고 이것은 상당한 인력이 소비되는 결과로 이어졌다. 처음에 조금 더 디테일 했다면 좋았겠다고 생각하며 아쉬움을 달랬지만, 팀원분들이 모두 적극적으로 참여해준 덕분에 첫 프로젝트 진행임에도 불구하고 수월하게 진행할 수 있었다.
2. issue!
개발자는 항상 Github의 issue를 확인해야된다는 걸 뼈저리게 느꼈다. 내가 issue를 확인하지 않고 기능 개발하다 팀원과 겹치는 상황이 발생했다. 왜 도대체 내가 확인을 안했는가 나조차 이해가 되지 않는 상황이였다. 팀원분이 작성하신 코드가 더 깔끔하고 훌륭하게 작성되어 있어 내 코드를 날리고 팀원분의 코드를 사용하기로 했지만, 내 새끼... 열심히 작성했는데 조금은 아쉬웠었다. 다음에는 꼭 이런일 없도록 해야겠다.
3. 일의 순서!
프로젝트를 함께 진행하며 내 공부도 따로 시간을 내야하는 상황이 발생해버렸다. 첫 프로젝트고 나조차도 내가 어느정도까지 능력이 되는지 모르니깐, 도저히 공부하는 시간을 내기가 어렵분더러 공부하는 내내 뭔가 불안한 마음을 갖게 되는거 같았다. 결국 주말동안 개발할 상황이 되지 않아 내 공부를 시작했지만 여전히 마음은 불편한 상황이다. 일의 분배도 중요한 법인데 이게 참 어려운거 같다.
⚙Finding/Future
1. 테스트는 체계적으로!
프로젝트를 진행하면서 기능이 실현 가능한지 기술 테스트를 하게 되는 상황이 많이 발생했다. 때는 내가 프론트 부분의 레시피 카드가 순서대로 나열되지 않아 바르게 나열되도록 버그를 수정하는 과정에서 발생했다. 이 문제를 해결하기 위해 나는 구글링을 시작했고 다른 사이트의 코드를 가져와 붙였다 떼었다. 반복해가며 버그를 해결하고 있었다. 하지만 디버깅을 시작한지 몇시간째 어느새 같은 글을 수십번을 읽게 되는 일이 발생했다. 만약 체계적으로 테스트를 진행 했다면 불필요한 행동으로 버린 시간을 아낄 수 있었을텐데...
✔ 기술 테스트 시 체크리스트를 작성하고, 테스트 결과를 간단하게나마 작성하자.
2. 프로젝트는 시작이 반이다!
프로젝트 시작할 때 설계를 디테일하게 하는 것이 굉장히 중요하다는 것을 발견했다. 4명의 팀원들이 함께 작업하는 만큼 개발을 시작하기 앞서 많은 것들을 약속해야 한다는 것을 느꼈따. 코드 스타일, 와이어 프레임(프론트 부분), API url, DB할당 등 이런 것들에 대해 약속을 하고 개발을 시작한다면 훨씬 수월하고 깔끔하게 프로젝트를 진행할 수 있지 않을까?
다음 프로젝트를 시작할 때는 최소한으로 다음 사항을 체크했는지 확인해야겠다.
✔ 코드 스타일 선정 했는가?
✔ API 갯수와 url에 대해 약속 했는가?
✔ 프론트 뼈대는 세워졌는가?
✔ DB 할당에 대해 의논 됬는가?
3. 배움의 장
주간 테스트 때도 느꼈지만, 다른 사람이 작성한 코드를 보는 것은 그 자체만으로도 훌륭한 공부가 된다는 것을 느꼈다. 이번 프로젝트를 진행하면서 팀원분들의 코드를 보면서 '이렇게도 짤 수 있구나!'라는 생각을 얼마나 많이 했는지 모르겠다. 팀 프로젝트를 진행하다 보면 서로가 서로의 스승이자 제자가 되지 않을까 싶다.
✔ 프로젝트 진행하며 팀원분들이 짠 코드 리뷰하며 공부하자!