[우테코 프리코스] 2주차 회고록

지원·2022년 11월 9일
4
post-thumbnail
post-custom-banner

우테코 프리코스 2주차 과제 소감문 제출한 것에 간단한 내 벨로그 감성을 담은 코멘트 추가하여 포스팅해보고자 한다..
(소감문은 -습니다. 벨로그감성은 -했다..! 등의 차이가 있음..)

소감문

우아한 테크코스 2주차 과제를 마쳤습니다. 이번 과제에서는 평소에 익숙하지 않았던 것들을 경험하게 되었습니다.

1. 함수를 최대한 세세하게 나누기

  • 이번 과제에 '최대한 함수를 잘게 쪼개라'라는 요구사항에 따라, 내가 실행하고자 하는 기능을 좀 더 세세하게 들여다 보게 되었습니다. 무심코 쭈욱 나열해서 쓰던 유효성 검사 함수, 단순 테스트 통과만을 위해서 작성했던 여러 method들의 나열.. 이러한 부분을 다 함수로 쪼개어 네이밍을 해주고 나니, 보기에도 좋지만, 다시 코드를 읽어보았을 때에 로직을 이해하기에도 편리했습니다. 1주차 회고록에도 작성했던 '누구나 이해하기 쉬운 코드'를 쓰는데에 좀 더 익숙해졌습니다.

    예를 들어서, 원래 나는 코드를 아래와 같이 썼는데

    if (input.length ===3 & input[0] !=="0")
    throw new Error("유효하지 않은 숫자 입니다.")

    이번 우테코 과제를 진행하면서
    1) validation 검사 함수를 따로 만들고

        isValidNum(input) {
            return input.length === 3 && input[0] !== "0";
        }

    2) 이 함수를 실행시켜서 유효성을 검사하는 형태로 코드 작성법을 업그레이드 시켰다! (다른 사람이 보기에 무슨 조건인지 훨씬 보기 좋은)

        if (!this.isValidNum(answer)) {
                    throw new Error(ISNOTVALIDNUMBER);
                }

    3) 그리고 마지막으로 유효성 검사 함수가 많아지게 되자, App.js 코드를 읽는 흐름에 방해되지 않도록 모든 유효성 검사를 Validation.js 라는 파일에다가 따로 저장해두고 불러와서 썼다.

    const InputValidation = {
        isNumber: function (input) {
            return !isNaN(Number(input));
        },
        isValidNum: function (input) {
            return input.length === 3 && input[0] !== "0";
        },
        isNotDuplicated: function (input) {
            return new Set(input).size === 3;
        },
    };
    module.exports = InputValidation;

2. 테스트 코드 만들어서 실행하기

  • 테스트 코드를 만들어서 코드를 실행해보는 것을 이번에 처음 해보게 되었습니다. 이전까지는 다양한 입력 예시값을 하나하나 함수 파라미터로 넣고, console을 통해 오류 여부를 검증하였습니다. 이번에 jest 라이브러리를 통하여 여러가지 경우의 수를 한번에 테스트할 수 있는 코드를 작성해보는 것은 좋은 경험이었습니다. 처음이라 여러 문서를 참고하여 조금씩 시도해보았지만, 다른 알고리즘 문제를 풀 때에도 활용하는 등 익숙해져서 유닛테스트를 시행하여 오류없는 코드를 만드는 개발자가 되도록 하겠습니다.

    사실 이번에 테스트 코드를 이해하고 실행하는데에 많은 시간을 보냈다..
    테스트 코드는 예시를 참고하여 최대한 해보았는데.. 아직 완벽하게 익숙해지지는 않아서.. 자세한 내용은 속편으로 작성 예정..


3. 주어진 컨벤션 가이드에 맞춰서 코드 작성 및 커밋하기

  • 지금까지는 커밋메시지나 네이밍 컨벤션 등을 내가 원하는대로 정해놓고 작성하였는데, 이번 과제에서는 명확한 기준이 주어져있었고 이 기준에 맞추기 위한 노력을 많이 하였습니다. 실제로도 현업에 가게 된다면, 회사의 가이드라인이 주어지고 그에 따른 코드를 작성해야할텐데 이를 미리 경험한 느낌이 들었고, 앞으로 개인 프로젝트를 할 때에도 활용하도록 하겠습니다.

    유명한 Javascript 코딩 컨벤션이 에어비앤비, 네이버, standardJS가 있다고 하는데.. 2주차 과제에서 에어비앤비 컨벤션 가이드에 맞게 코드를 작성하게 되었다.

    프로젝트를 몇개 해보면서도, 컨벤션을 정하고 해야한다! 는 것은 알고 있었지만, 유명한 컨벤션을 참고해볼 생각은 못했다..

    이번 프리코스를 통해서 에어비앤비 컨벤션 가이드 (10%) 정복...

    에어비앤비 컨벤션 가이드가 영어로 되어있어서 불편하다는 말이 있는데 한국어로 친절하게 번역해둔 곳이 있어 사이트 남겨놓기
    https://github.com/ParkSB/javascript-style-guide

프리코스 2주차 과제가 끝나면서 절반이 지나갔습니다. 짧은 시간이지만 밀도있게 많은 지식을 쌓고 있다고 생각합니다.

느낀 점

프리코스 2주차가 끝나가고있다

합불을 떠나서 프리코스를 하게된 게 정말 소중한 기회라고 느껴진다
같은 문제를 푸는 수백명의 사람들과 의견을 공유할 수 있고, 문제 외에도 개발자가 되기 위하 과정에 대해서 공유할 수 있다는 점이 참~ 좋다.

그리고 무엇보다도 꾸역꾸역 과제를 해나가면서 기본 개념에 대해서 다시 공부하게 되는 점이 만족스럽다.

그렇지만... 진짜 매일매일 너무 바쁘다 ㅠㅠ!

아침마다 달리기도 해야하고..기업 협업도 해야하고.. 우테코 과제도 준비해야하고.. 또 주마다 친구들 결혼식 참석까지..

거기에다가 주변에 취업준비 하는 사람들까지 보고있으면 내가 지금 잘하고 있는게 맞나.. 라는 생각이 들었다가도 조급해지지말아야지.. 라는 생각이 들었다가 왔다갔다하는 요즘이다..

하지만 처음 개발 공부 시작했을 때의 마음처럼 조급해지지 말고 내 페이스를 찾아나가야겠다고 다짐하며 마무리! 🥹

profile
안녕하세요 지원입니다.
post-custom-banner

2개의 댓글

comment-user-thumbnail
2022년 11월 9일

응원해요 화이팅!

1개의 답글