[프리온보딩] 두번째 과제 회고

두 번째 과제는 건강한 식사 문화를 만들고자 하는 기업 '프레시코드'의 과제를 택했다. 지난번 과제와 큰 차이가 없었고, 이번엔 팀 전원이 뭉쳤기 때문에 조금 여유로울 것이라고 생각했었다. 하지만 큰 오산이었다...
첫 번째 과제와 큰 차이가 없는 과제였던 만큼, 팀원들과 좀 더 디테일에 신경쓰자고 의견을 모았다. 그리고 그 디테일을 잡는다는 것이 얼마나 힘든 일인지를 뼈저리게 느끼게 되었다...

지난 과제에 이어, 이번에도 DB Service 파트를 맡아보기로 했다. 지난번에 어려움을 겪었으니, 이 참에 제대로 굴러보자는 마인드였다. 과제가 출제되자 마자 내가 DB 모델링부터 직접 해보는 등 의욕적으로 나섰다.

javadoc 주석을 작성하는 것을 익혔기에, 이번에도 주석을 잘 남기는 것에 신경을 썼다.

/**
 * 메뉴에 아이템 생성
 * @param {Integer} menuId
 * @param {String} size
 * @param {String} name
 * @param {Integer} price
 * @returns {Object} 생성한 아이템 정보 { id, name, size, price, isSold, createdAt, updatedAt }
 */
exports.createItem = async (menuId, size, name, price) => {
  try {
    const newItem = await models.item.create({
      size,
      name,
      price,
      menuId,
    });
    return newItem;
  } catch (err) {
    throw err;
  }
};

배웠던 점

  • Github Project, 마일스톤을 활용해서 백로그, 이슈 관리를 진행하기
  • 계층 분리를 통해 코드의 가독성을 높히고, 리팩토링을 통해 유지보수가 쉽도록 코드 관리하기를 배웠다. 협업하는 데에도 큰 도움이 되었다.

아쉬웠던 점

  • DB 파트를 거의 전담해서 맡았는데, 아직 sequelize ORM이 익숙하지 않다보니 문서 보는 것부터 실제 구현하는 것 까지 꽤 시간이 오래걸렸다. 물론 혼자 어떻게든 해결해서 구현하는 것도 의미가 있겠지만, 기간이 하루 반 남짓인 과제를 해결하기 위해선 능력있는 팀원들에게 적극적으로 질문했어야 겠다는 생각이 들었다. (실제로 더듬더듬 구현했다가 문제가 생긴 부분이 있기도 했고...) 모르는 것이 있는데 질문을 너무 아끼는 것은 오히려 독이 될 수 있겠다고 느꼈다.

좋은 웹페이지 즐겨찾기