ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 우아한 테크코스 2기 프리코스 1주차 후기
    우아한 테크코스/기타 2019. 12. 12. 22:34
    반응형

    새로 알게 된 점과 느낀 점

    인텔리제이 사용

     기존에는 이클립스를 사용했었고, 인텔리제이는 이야기만 들어봤었다. 조금 더 가볍고, 다른 기능들이 많다는 이야기.

     

     프리코스 예시에 인텔리제이가 적혀있길래(물론 이클립스 사용도 무방하다고 적혀있었지만) 냉큼 IDE를 바꿔보자고 생각하여, 인텔리제이를 설치했다. 물론, 이클립스의 맥북 한국어 마지막 글자가 사라지는 것도 IDE를 변경하는 데 한몫했다.

     

     설정과 단축키가 조금 달라서 검색하면서 진행하긴 했지만, 계속 쓰다 보면 익숙해질 것 같아서, 프리코스 과제 동안은 인텔리제이를 써보려고 한다. 새로운 것을 써보는 것에 겁먹지 않기.

     

    구현할 기능 목록 먼저 만들기

     기존에는 개발을 많이 해보지 않아서인지 코딩할 때 기능 정리를 하지 않고 일단 시작했었기 때문일까, 많이 헤맨 부분이었다. 코드를 짜다 보니 처음 생각했던 것보다 만들면 더 많은 기능이 필요했고, 구상하는 혹은 정리하는 능력이 많이 부족하다는 것을 느꼈다.

     

     기능을 먼저 정리해두니 코딩할 때는 확실히 더 편했다. 코드를 전부 다 삭제하고 다시 작성하는 일이 일어나지 않았다. 신기했다.

     

    자바 코드 컨벤션

     메서드, 변수, 클래스 명들을 만들 때 조금 더 생각하며 의미를 담아 만들어 보았고, 내가 다시 보더라도 코드가 훨씬 이름만 바꾸었을 뿐인데 직관적이라고 생각이 들었다. 변수 a, b, c 선언하던 나는 이제 안녕.

     

     주석도 달아보았고, 삼항 연산자도 사용하지 않았다. 초반에 자바 공부할 때 미리 익혀놨으면 좋았을 것 같았지만, 열심히 익숙해져야겠다.

     

    Indent depth 2개까지 허용

     for문과 if문 while문 등을 중첩해서 쓰던 시절은 이제 안녕. 이 부분이 생각보다 매우 힘들었다. 워낙 중첩을 많이 하던 버릇이 있어서인 것 같다.

     

     그렇지만 구현할 기능 목록을 먼저 만들고, 메서드를 분리하다 보니 이 부분도 통과했다. 뿌듯했다.

     

    기능 단위 Commit

     기능 단위로 Commit을 하려면 적어도 한 기능을 만들 때 꾸준하게 어느 정도는 만들어야 하는 것 같다. 마치 수학 문제지를 풀 듯 왔다 갔다 했던 내가 한 기능씩 순서대로 차례차례 만들려고 노력하게 한 일 등 공신이다.

     

     기능 단위로 Commit을 해두니, GitHub에서 Commit만 보고도 해당 내용이 뭔지 유추할 수 있어, 나중에 다시 보기 좋았다.

     

    Scanner

     보통은 메인 메서드에서만 써봤는데, 기능을 나누고 스캐너 인스턴스를 각각 생성하니 오류가 났다. Google에 열심히 검색해 확인하면서 고쳤는데, 당황하여 시간이 오래 걸렸다. 다음엔 이런 오류가 발생하지 않았으면 싶고, 발생하더라도 오류를 더 쉽게 찾을 수 있을 것 같다.

     

    HashSet for each문

     HashSet은 정렬이 되지 않는다고 (집합 개념) 알고 있었는데, for each나 iterator로 추출 시 정렬이 되어 당황했다. 그래서 중간에 println을 이용해 출력하여 해당 부분을 발견하고, 다른 방식으로 변경하였다.

     

    예외 케이스

     기능을 계획할 때 생각하지 않았던 예외 케이스들이, 코드를 짜다가 떠올라서 추가했다. 앞으론 기능 계획할 때 예외 케이스도 미리 구상해놓으면 좋을 것 같다.

     

    후기

    새로 알게 된 것이 너무 많다.

     짧은 1주간 프리코스 1개를 통해 새롭게 알게 된 혹은 느낀 점이 너무나 많아서 행복하다. 이렇게 빠르게 무언갈 느낄 수 있다니. 꼭 우아한 테크코스를 해야겠다는 의지가 활활 불타오른다.

     

    잘하는 사람도 너무 많다.

     미션을 다 하고 Pull Request를 보낸 후, 다른 사람들의 Pull Request도 몇 개 보았는데, 정말 다들 수준급인 것 같아서 살짝 주눅이 들었지만, 그만큼 더 노력하면 된다는 생각이 들었다.

     

    피드백 후 느낀 점

     우아한 테크코스는 프리코스마다 공통 피드백을 준다.

     

     변수명, 메서드명, 클래스 명의 이름을 지을 때는, 과도하게 축약하지 말고 의미를 담아서 짓기. IntelliJ에서 Cmd+Alt+L(맥)을 이용해 formatting 기능 활용해보기. space와 tab 공백도 신경 쓰기. 주석 의미 없이 달지 않기(뜨끔). 값을 하드 코딩하지 말기(뜨끔). Commit 메시지 의미 있게 작성하기. 기능 목록은 계속 업데이트하고, 예외 상황도 정리하되, 구현 등을 너무 상세하게 작성하지 말기(뜨끔). 마크다운 익히기.

     

     피드백 받은 부분을 잘 생각하고 구현하려 해야겠다. 화이팅.

     

    반응형

    댓글

Designed by Tistory.