티스토리 뷰

우아한테크코스

우아한테크코스 프리코스 5기 1~4주 하면서 성장한 점

YG - 96년생 , 강아지 있음, 개발자 희망 2022. 11. 23. 12:02

정리 및 회고

 

 

새로 알게 된 점

  • 기능 요구 사항을 보고 기능 목록을 만든 후 기능 단위별로 git 커밋을 하는 방법
  • 문자열, 숫자 , 에러 메시지 등을 상수로 관리하는 방법
  • 올바른 함수(변수) 명을 사용하는 방법
  • 클래스(객체)를 분리하는 연습
  • 한 가지 함수가 한 가지 일만 하도록 분리하는 연습
  • 핵심 로직을 구현하는 코드와 UI를 담당하는 로직을 구분하는 연습
  •  도메인 로직에 대한 단위 테스트
  • 클래스(객체)의  필드 혹은 상태 접근을 제한하려고 # prefix를 사용하여 의도치 않게 값을 변경하지 않도록 하는 연습
  • 테스트 코드를 작성할 때 반복적으로 진행되는 부분을 each 문을 통해 중복되지 않게 효율적으로 진행하는 연습
  • eslint의 rule을 추가해서 원하는 클린 코드 규칙을 추가할 수 있었던 것
  • 올바른 커밋 컨벤션  활용 방법
  • airbnb javascript 컨벤션 내용

 

 

힘들었던 점 / 해결과 극복 방법

  • 기능 요구사항을 처음 만들 때 어떻게 만들어야 하나 막막했는데 말 그대로 코드를 작성하여 구현해야 할 내용들을 정리한 문서로써 이해하여 작성하면 편하게 작성할 수 있었습니다.

 

  • 처음 1주 차에서부터는 문자열을 전부 상수처리를 안 하고 사용하는 것을 습관이 되어하지 않았으나 나중에 4주 차가 되어서는  변경될 수 있는 숫자 혹은 변수 들을 상수처리를 하고 에러 메시지 또한 상수처리를 하여 유지보수 용이하도록 관리하였습니다.

 

  • 저의 경우 함수명을 지을 때 영어 문법에 맞지 않게 적는다거나 동사 + 명사와 같이 일반적인 형태가 아닌 제 느낌대로 적었기에 다른 사람이 보기에 변수명이 좋지 않아 보인다고 하여 올바른 함수명을 짓는 법을 인터넷에서 보고 배워 저만의 함수명 짓는 규칙을 만들어서 활용하였습니다.

 

  • 클래스를 분리하기 위해 클래스에 연관된 함수를 묶는 방법이 조금 어려워 클래스와 연관된 함수임에도 다른 곳에서 호출해 사용했었는데 이제는 용도에 맞게 분리하는 연습을 많이 하여 클래스 작성에 많이 익숙해진 것 같습니다.

 

  • 함수가 여러 기능을 하는 경우가 많았는데 기능별로 구분 지어  한 가지 함수가 한 가지 일만 하도록 분리하는 연습을 통해 함수를 분리하고 이를 통해 분리한 함수를 테스트하기 용이하게 만들 수 있게 되었습니다.

 

  • 도메인 로직(핵심 로직)에 대해 따로 코드를 분리하는 연습을 하기 어려웠는데 프리코스 커뮤니티의 도움으로 자바스크립트의 bind 기능을 통해 콜백 함수를 따로 분리할 수 있었습니다.

 

  • 개인적으로 클래스에 대해 거의 사용해보지 않았는데 이번 기회에 많이 사용해보며 생성자, 필드, 메서드의 역할에 대해 알게 되었고 필드 관리 , 메서드 관리에 대해 익숙해지게 되었습니다.

 

  • 이번 프리코스를 진행하며 테스트 코드를 많이 이용하고 작성해보는 일이 있었는데 이때 도메인 로직의 함수들을 테스트하거나 예외조건을 테스트하여 구현 사항들을 테스트하였었습니다. 이때 예외 조건에서는 다양한 상황을 테스트했어야 하는데 일부 예외 조건만 생각하여하였다가 생각지 못한 예외조건을 뒤늦게 깨닫게 되는 일이 있었고 마지막쯤에는 모든 예외조건을 꼼꼼히 테스트하여 제 코드에 자신감을 갖도록 하였습니다.

 

  • 테스트 코드도 코드를 작성하는 것처럼 효율적으로 작성하는 연습을 하였습니다. 처음에는 forEach문을 통해 해야 하나 싶었지만 jest 사이트의 docs를 읽고 each를 사용하는 방법 등을 익혀 효율적으로 테스트하게 되었습니다.

 

  • 과제 요구사항 중 인덴트(들여 쓰기)의 depth를 3 이상 사용하지 않기, 함수의 라인이 10이 넘어가지 않도록 작성, else 사용 지양하기 등 다양한 코드 작성 요구사항들이 있었을 때 일일이 신경 쓰면서 하기 어렵다고 느껴져 eslint를 활용해 eslint의 사이트에서 rule을 찾아 추가하는 방식으로 문제를 해결했었습니다. 

 

  • git 커밋 컨벤션의 경우 저의 경우 대부분 Add:로 하였으나 이제는 좀 다양하게 사용하기로 생각하였고 git commit의 타이틀의 글자 수가 72자가 넘지 않도록 하는 것도 알게 되어 컨벤션을 공부하여 익히고 해결했습니다.

 

  • airbnb 컨벤션을 따르는 것이 요구사항에 있었는데 이 때도 eslint의 도움을 받고 , eslint가 놓치는 부분은 airbnb javascript 컨벤션을 모두 읽어 익혀서 지키도록 노력했습니다.

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함