Skip to content

Conversation

@joey-ful
Copy link

@joey-ful joey-ful commented Dec 15, 2020

프리코스 후기

벌써 프리코스가 마무리되었습니다. 3주 동안의 짧은 시간이었지만 기대 이상으로 많이 성장했고 배웠습니다. 특히 자바스크립트의 모듈과 클래스, 함수 등의 사용법을 파악할 수 있었고 규모가 큰 프로젝트도 만들어낼 수 있게 되었습니다. 지켜야할 컨벤션과 요구사항들이 있다보니 그것에서 벗어나지 않기 위해 많이 알아볼 수 있었고 같은 과제를 하는 동료들의 코드를 보며 미처 몰랐던 문법들을 배울 수 있었습니다.

1. 프로젝트 설계

프리코스 통해 가장 새로웠던 것은 바로 기능을 정리해두는 README였습니다. 사실 코드를 구현하기도 전에 기능들을 파악하고 세세하게 작성하는 것은 시간이 꽤 걸렸고 추후에는 대대적인 수정도 불가피했습니다. 하지만 프로젝트 전반에 대해 미리 구체적으로 생각해보는 것은 결과적으로 매우 효율적이었습니다.
모듈을 어떻게 구성해야할지, 예외사항은 어느 것들이 있는지, 중복되는 함수들은 무엇이 있는지 등을 사전에 파악할 수 있어 파일과 함수 등을 보다 유용하게 배치할 수 있었습니다. 게다가 내용을 한눈에 정리해두니 개발 도중 헷갈리거나 막힐 때마다 언제든지 돌아와 도움을 받을 수 있었습니다.
무엇보다도, 제가 쓴 코드를 다른 사람이 보거나 심지어 제가 저의 지난 코드들을 봐야할 때 잘 정리된 README가 있다면 훨씬 더 빠르고 쉽게 코드를 파악할 수 있을 것이라 생각되었습니다.
3주차 미션은 이전 미션들보다 더욱 규모있고 복잡해졌는데, 그렇기에 더욱더 README의 필요성을 느낄 수 있었던 것 같습니다. 그동안 사용법을 몰라 그대로 방치해두기만 했던 README를 이번 프리코스를 발판으로 앞으로는 제 프로젝트의 핵심을 소개하는 요약페이지로 잘 다듬어 활용할 생각입니다.

2. 기능별 커밋

기존에는 git을 거의 혼자 사용했고, 협업을 하더라도 상대방의 commit 메시지뿐 아니라 제 것조차 살펴본 적이 거의 없습니다. 하지만 프리코스를 진행하며 처음으로 commit 메시지의 단위와 그 의미에 대해 생각해보았습니다.
commit 메시지는 과거 코드를 살펴볼 때 어느 시점에 어느 기능이 추가되었는지 빠르게 파악할 수 있는 참고 메시지입니다. 저는 이 기능이 마치 제 프로젝트의 버전이자 백업 단위라고 같다고 생각했고 특히 수정을 할 때 빛을 발한다고 생각했습니다. 실제로 새 코드를 추가할 때마다 예상치 못한 문제를 맞닥뜨리는 것은 흔한 일입니다. 이 때 기능별로 commit이 되어있다면 간편하게 어떤 기능이 문제의 원인인지 파악할 수 있습니다. 게다가 언제든지 원하는 시점의 commit으로 돌아갈 수 있어 손쉬운 수정이 가능합니다.
솔직히 가장 어려웠던 부분은 commit이 아니었나 싶을 정도로 기능별 commit은 어려운 부분이 많았습니다. 하지만 commit의 이러한 역할에 대해 생각해보니 점점 더 한번에 하나의 기능에만 집중하자는 생각을 갖게되었고 기능을 마무리지을 때마다 바로 commit을 해주며 체계적인 git log를 유지하려고 노력하게 되었습니다.

블로그 후기 링크

jehong added 30 commits December 9, 2020 18:26
docs: update README
feat: add station to station list

feat: create sample table
feat: add save and get localStorage of station
update localStorage when a new line is registered
faet: update localStorage when deleted
create div with class name 'map' and append map print to it
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant