우아한테크코스 5기 프론트엔드 프리코스 2주차 회고
우테코 프리코스 2주차 과제도 종료되었습니다~~!!!
우선, 이번 과제 소감이랑 내용 입니다.
📌 우아한테크코스 2주차 과제 제출 주소 및 소감
https://github.com/woowacourse-precourse/javascript-baseball/pull/33
📌우아한테크코스 2주차 과제 내용
https://github.com/woowacourse-precourse/javascript-baseball
*과제 내용에 대한 코드나 풀이법에 대해서는 위 과제 내용 링크에 상세히 기재하였으니, 참고하시길 바랍니다.
이번 2주차는 전 기수들과 동일하게 숫자야구게임이었습니다.
근데 다른 점이 있다면, 웹으로 말고 터미널로 실행하는 작업이였어요.
그래서 dom을 다룰 일이 이번주차에서는 없었습니다.
1주차 때 보다 나아지자.
1. 쓸데없는 변수 선언들이 많았다.
2. 함수를 solution 안에 선언한 점.
3. let 과 const 를 적절하게 쓰지 못했다.
4. 처음의 로직을 제대로 설정하지 못하면 나중에 바꾸기가 너무 힘들어진다.
5. 이번 주차는 문제만 잘푸는게 목적이 아니였다. 과제의 의도에 맞게 정확하게 못풀었다.
6. 내가 다시봐도 설명하기 힘든 코드는 남이 봤을 때, 최악인 코드이다.
1주차 때 제가 다짐한 글입니다.
최대한 이 미흡했던 점들은 보강하는데 초점을 두기도 했어요.
당장 잘하는 사람들도 너무 많지만,
제가 여기 프리코스에서 얻고자하는 것은 전보다 성장해나아가는 제가 되는 것 입니다.
그래서 저번 주보다 더 나은 제가 되는 것이 저의 가장 큰 목표였고, 그 부분들을 많이 신경써서 코드를 구현하였어요.
제가 느끼기에도 1주차때보다는 성장해가는 느낌이 많이 듭니다.
이번 주차에서도 미흡했던 부분들을 잘 새겨서 다음 3주차때 더 보강해서 학습에 임해야겠어요.
기능 목록 작성
이번에 저는 기능목록 작성에 특히, 심혈을 기울였어요.
(아래는 작성한 기능 목록입니다.)
https://github.com/soohyun-dev/javascript-baseball/tree/soohyun-dev/docs
1주차가 끝나고 코수타에서 기능 목록을 잘개 쪼개고 쪼개라는 말씀을 해주셨고,
제 코드를 리뷰해 보면서 7번 문제의 설계를 잘 못했다고 생각이 많이 들어서
이번에는 기능 목록을 세부적으로 잘 작성한 다음에 검토해보고 구현을 실행하는 단계로 나아갔어요.
초기에 잘 쪼개고 잘 분류를 한 덕분에 기능목록 그대로 구현하기가 조금 더 수월했다라는 생각이 듭니다.
저번보다 잘 작성한 것 같은데 메서드 정리도 했으면 좋았겠다라는 생각도 드니
3주차때는 더 추가해서 작성해봐야겠습니다.
소감
항상 제출을 하고나면 아쉬움이 많이 남는 과제로 돌아오네요....ㅋㅋ
이번에 가장 아쉬웠던건, 모듈화를 하지 않고 제출했다는 점입니다.
처음에는 함수로 모듈화 시켜서 기능을 완성하였었는데,
MissionUtils 의 콜백함수를 처리하는 과정에서 상당히 애를 먹었습니다.
그래서 뒤늦게, 클래스로 모두 재작성하였고 메서드들을 App.js 로 통합시켰습니다.
이 과정에서 기존에 하던대로 파일 구분을하고 작성했어야하는 아쉬움이 남네요...
다음 과제에서는 이 점을 중점으로 최대한 신경써서 함수들을 기능별로 분리해봐야겠습니다.
그리고, 테스트도 더 자세하게 구현해서 잘 다뤄보겠습니다 !!
리팩터링
기능들이 다 구현되는 걸 확인하고 리팩터링에 돌입했어요.
작성할때는 몰랐던 부분들이 다시 보니까 여러곳 보이더라고요.
1주차에 이 작업이 많이 부족했다라고 느꼈기 때문에, 이번에는 더 많은 시간을 가지고 리팩터링에 힘을 썼어요
여러개가 있지만, 다 올릴 수는 없기에 몇개만 참고로 올려볼게요.
1. return 값
변경 전
변경 후
굳이 if 문을 둘 필요가 없겠더라고요. 어차피 return 은 true 아니면 false 값을 할건데 두번의 return 문보다는 이렇게 바로 return 해버리는 식으로 리팩터링을 해보았어요.
2. return 값
변경 전
변경 후
결론적으로 이 함수는 나중에 삭제했지만, 그 전에 리팩터링을 한 번 해봐서 올려봐요.
위보다 훨씬 간결해졌습니다.
1아니면 2만 받을 것이고, 이외의 값은 모두 false 를 return 해야하기 때문에
쓸데없는 변수 선언을 줄이고 if 문도 없애 보았어요.
3. result 할당 조건 변경
변경 전
변경 후
어차피 ball 이랑 strike 가 모두 0이면 낫싱을 할당해야해요.
그러니까 초깃값을 낫싱으로 선언하고
값이 있다면 바꾸는 식으로 했어요.
if , else if 문으로 조건을 나눴는데,
ball>0, strike>0 을 처음 조건으로 두었기에 result 값에 재할당 시키는 경우도 사라지고
위에보다 더 나은 코드가 되었다고 느꼈어요.
물론, 이 부분은 더 잘 작성한 분들도 많아,
이 방법이 최고다라고 생각하지 않습니다.
그래도, 이전의 저와 비교했을 때보다 더 나아지는 모습들이 점점 더 성장해 나아가는 느낌입니다.
이제 오늘 3시에 또 3주차 과제가 발표될텐데,
1,2 주차때보다 더 성장해 나아가는 모습을 보일 수 있도록 더 열심히 하고 싶은 마음이 가득해지네요 ㅋㅋㅋ
학습하고 배우는 과정들이 마냥 힘들지 않고 뿌듯한 부분들도 정말 많아서 이 프리코스가 정말 값지다고 느껴집니다!!
같이 프리코스를 진행하시는 모든 분들도 끝까지 파이팅하시길 바랍니다!!
* 참고 자료
https://yceffort.kr/2020/08/commonjs-esmodules
https://www.daleseo.com/jest-basic/
javascript - 객체지향언어, class (tistory.com)
'성장기록 > 우아한테크코스' 카테고리의 다른 글
우아한테크코스 5기 프론트엔드 프리코스 그 이후 (0) | 2022.11.24 |
---|---|
우아한테크코스 5기 프론트엔드 프리코스 4주차 회고 (0) | 2022.11.23 |
우아한테크코스 5기 프론트엔드 프리코스 3주차 회고 (1) | 2022.11.16 |
우아한테크코스 5기 프론트엔드 프리코스 1주차 회고 (0) | 2022.11.03 |
우아한테크코스 5기 지원 소감 (0) | 2022.10.25 |