과제 사전 준비
1.
이전 스텝에서 merge한 main 브랜치를 받아옵니다.
2.
작업용 브랜치 refactor 를 생성합니다.
$ git checkout main
$ git pull
$ git checkout -b refactor
Shell
복사
3.
생성한 refactor 브랜치가 리팩토링 과제를 제출할 브랜치가 됩니다.
과제 (리팩토링 가이드)
제한 시간 동안 지금까지의 변경점을 리팩토링하는 refactor 브랜치를 만들어서 Pull Request를 생성해주세요. 제한 시간이 있으니 시간에 유의해주세요.
•
리팩토링 과제의 제한 시간은 최대 1시간입니다.
•
어떤 부분에 초점을 맞춰서 리팩토링해야 할지 고민해주시고, 고민하신 내용을 Pull Request 바디에 기술해주세요.
•
시간 배분에 유의해주세요. 리팩토링 과제는 앞서 진행하셨던 기술 과제에서 미처 구현하지 못한 요구조건을 구현하는 시간이 아니라, 앞선 시간동안의 변경점을 병합한 main 브랜치를 기반으로 하는 refactor 브랜치를 생성하여 리팩토링을 진행해주시는 과제예요.
•
만약 리팩토링할 부분이 없다고 판단하셨다면, 그렇게 생각하신 이유와 과제를 진행하셨던 로직의 구조(아키텍처)를 왜 그렇게 설계하였는지 README.md에 기재하신 후에 Pull Request를 생성해주세요.
•
제한 시간 내에 원격저장소에 푸시하신 커밋까지만 유효합니다. 제한 시간 후에 Pull Request를 생성하거나 추가 커밋을 남기지 않도록 유의해주세요.
자주 묻는 질문
Q. 무엇을 리팩토링 해야하나요?
간단한 이름 변경부터 구조, 기능 개선 등 모든 리팩토링이 가능해요.
특히 아래와 같은 요소들을 신경 써주시면 좋아요.
•
사용자 경험 고도화
•
유지보수하기 좋은 코드
•
버그나 사이드 이펙트 개선
Q. 리팩토링을 해도 되는 것과 하면 안되는 것을 알려주세요.
대부분의 리팩토링이 가능하지만, 단, 리팩토링 하면 안되는 것에 기재된 사항을 유의해주세요.
•
버그 수정
•
네이밍 또는 구조 변경
•
과제 요구조건 외에 사용자 경험 개선을 위한 추가 기능구현
•
가독성, 확장성을 고려한 코드 변경
•
제한시간 내에 구현하지 못한 기능을 구현하는 것
Q. 리팩토링 Pull Request 바디에 무엇을 적어야할 지 모르겠어요.
리팩토링 내용을 Pull Request 바디에 간단하게 정리해주세요. 적는 것이 막막하다면, 아래 사항을 참고해주세요.
•
리팩토링을 하는 목적이나 근거를 적어주셔도 좋아요.
•
과제를 하면서 새로운 라이브러리를 추가했다면, 왜 그 라이브러리에 대한 의존성을 추가했는지 이유를 적어주셔도 좋아요.
•
리팩토링을 하면서 가장 중요하게 생각했던 점(가독성, 응집도, 확장성, 성능 개선 등)이 있다면 적어주시고, 왜 중요하게 생각했는지 적어주셔도 좋아요.
제출 방법
1.
작업이 완료되면 refactor 브랜치를 GitHub 원격 저장소에 푸시해주세요.
2.
제한 시간 안에 브랜치를 GitHub에 푸시해주세요.
3.
작업이 잘 되었다면 GitHub에 다시 접속했을 때 [Compare & Pull Request] 초록색 버튼을 확인하실 수 있어요.
4.
[Compare & Pull Request] 버튼을 누르고 Pull Request를 생성해주세요. main 브랜치에 병합하는 형태가 되도록 Pull Request를 생성해주세요.
이어서
과제를 제출하기 위해 노란색으로 강조된 링크를 따라가주세요.
이 문제의 저작권은 주식회사 비바리퍼블리카에 있으며, 지원자는 오로지 채용을 위한 목적으로만 이 문제를 활용할 수 있습니다. 이 문제의 전부 또는 일부를 공개, 게재, 배포, 제3자에게 제공하는 등의 일체의 “누설 행위”에 대해서는 저작권법에 의해 민・형사상의 책임을 질 수 있습니다. 이 "누설 행위"에는 문제의 문구를 변형하여 그 취지를 알 수 있도록 하는 경우도 포함됩니다.