gyunam.blog

[sprinter] 미션 2 삽질 기록

[NB] 웹개발 시작하기

미션 2는 지난번에 작업한 미션 1을 git으로 pull request 까지 하는 것이 목적이다.

코드 올리기 전 진행한 코드 수정

fromJSON, toJSON


class Example {
  constructor(){}
  
  static fromJSON(){
    return new Example()
  }

  toJSON(){
    return {}
  }

}

원래는 fromJson, toJson 으로 작성해서 사용하고 있었다.

그런데 JSON.stirngfy 를 학습하고 나니까, 으잉, 이게 네이밍 취향이 아니었네?! 하고 호다닥 수정한 케이스.

다시 생각해보면 JSON 자체가 약자니까 JSON 자체를 대문자로 쓰는 거구나 싶고.. 네이밍은 항상 어렵다.

클래스 이름 값 받기


console.log(`type[${createdProduct.constructor.name}]`)

원래는 instanceof 로 특정 클래스일 때 문자열을 출력하는 코드를 쓰다가, 우연히 본 redit 코드에서 constructor.name 하면 된다는 엄청난 사실을 알게 되었다.

커밋 메세지 규칙

커밋 메세지 적는 게 정말 어렵다는 생각이 들었다.

혼자서 코드 작성하는 동안에는 아무렇게나 작성해서 올렸는데, 이번엔 공유 레포지토리에 올리는 거니까 엄청 신경 쓰였다.

타입 설명 예시
chore 잡일 chore: 패키지 업데이트
feat 새 기능 추가 feat: 사용자 로그인 기능 추가
fix 버그 수정 fix: 로그인 오류 수정
docs 문서 변경 docs: README 수정
style 코드 포맷, 세미콜론 수정 등 style: 코드 포맷 정리
refactor 코드 리팩토링 refactor: 로그인 로직 개선
perf 성능 개선 perf: 렌더링 속도 최적화
test 테스트 추가/수정 test: 로그인 테스트 케이스 추가
build 빌드 시스템 / 의존성 변경 build: webpack 설정 수정
ci ci 설정 변경 ci: github actions 워크플로 수정
revert 커밋 되돌리기 revert: 로그인 기능 롤백

찾아보니 이런 규칙이 있어서 가능한 지키려고 노력하고 있다.

3주 뒤에 있을 팀 프로젝트 때 이 규칙을 프로젝트에 적용해서 아름다운(?) 커밋 메시지 풀을 만들어봐야겠다..!

PR 리퀘스트 작성

.github 에 있는 PULL_REQUEST_TEMPLATE.md 에 적으면 되는지 알고 한참 적었는데, PR 할 때 이거 입력하는 창이 따로 떴다.

그렇다. 이름부터 TEMPLATE 인데 나는 여기다 작성하면 되는 지 알고 열심히 TEMPLATE를 수정했던 것이다.

마무리

이번엔 직전에 작성한 코드를 올리기만 하면 되는 거라 금방 끝났다.