우아한테코코스 프론트엔드 5기 지원, 그리고 프리코스 시작
우테코 프로젝트들을 보며 공부했던 내가 우테코 5기를 모집한다는 소문을 들었다. 4기와는 다르게 지원만 하면 프리코스를 할 수 있다니!! 부랴부랴 자기소개서를 쓰고 지원했다.
자기소개서에서 요구한 질문들
1. 고등학교/대학교 전공을 포함하여 프로그래밍 교육 이력을 작성해 주세요. (200자 이내)
2. 프로그래밍 학습 과정은? (1000자 이내)
3. 프로그래머가 되려는 이유는 무엇인가요? (1000자 이내)
4. 마음이 끌리는 무엇인가에 긴시간 동안 몰입해 본 경험이 있나요? (1000자 이내)
5. 우아한테크코스에 참여하려는 이유는 무엇인가요? (500자 이내)
대학교 입시 때 이후로 자기소개서를 처음 쓰는거라 어색했다. 작성하기 전에 내가 여태껏 공부해왔던 과정들을 곰곰히 생각해보고 했던 일들을 시간 순으로 쭉 나열해보았다. 그 다음 질문에 맞게 자기소개서를 작성했다.
자기소개서 제출 마감일에 맞춰 내고 이틀 뒤에 바로 프리코스를 시작했다. 되돌아보니 학교 시험기간도 겹쳤어서 정신없이 지나갔던 것 같다.
그리고 프리코스 1주차가 끝났다..! 시간이 너무 빨라...
이 글에서 1주차에서 배웠던 점, 아쉬웠던 점을 회고하려 한다.
프리코스 1주차는 7문제로 이루어진 알고리즘 문제를 푸는 것이었다. 나는 프론트엔드로 지원했기 때문에 Javascript로 작성했다. (백엔드는 Java, 모바일은 Kotlin)
난이도는 어렵지 않았지만 요구사항에 맞게 작성하느라 시간을 많이 썼다.
요구사항은 꼼꼼히 확인! 기능 목록은 최대한 구체적으로!
프리코스에선 구현할 기능 목록을 먼저 만들고, 기능 단위로 커밋하는 방식으로 진행되었다.
평소에 알고리즘 문제를 풀 때는 일단 통과하면 장땡 이라고 생각하고 풀었었는데, 이 방식대로 하니 더욱 신경 쓸게 많아졌다.
이 정도면 되겠지하고 기능목록을 작성했는데, 그대로 코드를 짜니 고려해야될 것들이 생겨나서 기능목록을 계속 수정하는 상황이 발생했다. 처음에 요구사항들을 꼼꼼히 살펴보지 못한 탓이다.
요구사항을 꼼꼼히 보는 습관을 들어야겠다.
네이밍 컨벤션
변수 및 함수 네이밍에 고민이 많았다. 표현할만한 단어가 잘 생각이 나지않아 애를 먹었다.
네이밍에 관련해서 좋은 글들을 많이 참고하여 코드를 작성했다.
https://soojin.ro/blog/naming-boolean-variables
Bool 변수 이름 제대로 짓기 위한 최소한의 영어 문법 · Soojin Ro
Background 프로그래머의 가장 어려운 업무가 이름 짓기라는 설문 결과도 있듯이 변수에 적절한 이름을 지어주는 것은 어렵고 오래걸리는 일이다. 영어가 모국어가 아닌 사람들에게는 더 어려울
soojin.ro
https://brunch.co.kr/@goodvc78/12
오픈소스의 네이밍 특징들
소스코드 (변수, 함수, 클래스)네이밍 데이터 분석해 보기 | 종종 보게 된 페이스북 피드글 중에서... 프로그래머 4,522명이 대답했습니다. 네이밍(이름 짓기)은 나에게 많은 고민과 선택을 하게 만
brunch.co.kr
클린코드
가독성 좋게, 유지보수에도 좋은 코드를 짜기 위해 노력해야 한다.
- 변수의 용도와 의도를 드러내는 이름으로 짓기
- 길어도 묘사가 잘 되는 함수명을 사용하기
- 한 함수에 많은 수의 인자가 들어가는 것은 지양하기
- 하나의 함수는 한 가지의 기능만을 수행할 것
- 매개변수로 flag 쓰지 않기
- 부정 조건 지양하기
https://javascript.plainenglish.io/javascript-clean-code-best-practices-461c24c53cae
JavaScript Clean Code — Quick Best Practices
Make your code easy to understand by humans
javascript.plainenglish.io
리팩토링
이번 1주차 때 리팩토링을 소홀히 했던 것 같다. 1주차가 끝난 지금 다시 코드를 보니 고쳐야 할 부분이 보인다. 그래서 피어리뷰를 통해 2주차 기간동안 리팩토링을 진행할 예정이다.
우테코에서는 참가자들의 성장을 위해 소통할 수 있는 커뮤니티를 제공해준다.
1주차에서는 슬랙으로 소통했지만, 2주차부터는 github discussion 페이지에서 소통할 수 있게 되었다. 이곳에서 코드를 서로 리뷰해주는 피어 리뷰를 할 수 있다!
피어 리뷰를 통해 개선해야될 점들을 확인하고 리팩토링을 진행한다.
내 눈에는 잘 짠 코드 같아 보여도 다른 사람들의 눈에는 아닐 수도 있고, 더욱 효율적인 방법이 있을 수 있기 때문에 코드 리뷰는 중요한 과정 중 하나다.
이미 지난 문제들이라고 넘어가지 않고 리팩토링하는 습관을 들이자!
새로 알게된 메서드 및 객체
- Array.prototype.every()
- Array.prototype.some()
- String.fromCharCode()
- String.charCodeAt()
- Map object
'회고' 카테고리의 다른 글
[회고] TIL을 스터디처럼 운영해보기 (0) | 2023.07.04 |
---|---|
[회고] 우아한테크코스 5기 프리코스 2주차 (0) | 2022.11.09 |