ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [2주차 미션] 후기 및 피드백
    교육/우아한 테크 코스 2019. 5. 27. 15:02
    SMALL

     

    https://github.com/G-ONL

     

    G-ONL - Overview

    G-ONL has 25 repositories available. Follow their code on GitHub.

    github.com

     

    2주차의 미션은 사다리타기 미션

     

    이번 미션에서 제일 중점을 둔 부분은 TDD 방식으로 코드를 짜는 거 였습니다.

     

    TDD는 간단하게는 테스트 코드부터 코드를 빠르게 짜고, 테스트를 통과하기 위한 프러덕션 코드를 빠르게 짜고, 이후에 리팩토링을 진행하는 방식으로 코드를 짜는 방법입니다.

     

    TDD에 대한 포스팅을 다룰 예정이니, TDD에 대한 자세한 부분은 그 곳에서 참고하시면 될 거 같습니다.

     

    사다리타기를 구현하기 전 문자열 계산기를 먼저 구현하게 되었습니다.

    문자열 계산기의 조건은 저번과는 다르게

    이러한 요구사항을 가지고 있었습니다.

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
        @Test
        void 문자열_더하기_커스텀() {
            assertThat(stringCalculator.add("//;\n1;2;3")).isEqualTo(6);
        }
     
        @Test
        void 문자열_더하기_한_개() {
            assertThat(stringCalculator.add("1")).isEqualTo(1);
        }
     
     

    이런식으로 테스트 코드를 먼저 작성하고, 프로덕션 코드를 이후에 작성하는 방식으로 진행을 했습니다.

     

    문자열 계산기에서 나왔던 피드백으로는

     

    - 에러 메세지 작성하기

    - 정규표현식 단축 사용

    - stream 사용하기 (코드가 더 깔끔해진다.)

    - 코드 컨벤션... (실수를 줄이자 ...)

     

    사다리 타기는 요구사항이 다음과 같았다.

    이 또한 TDD 방식으로 테스트 코드부터 작성을 하였고, 결론적으로 아쉬웠던 부분은 랜덤으로 매번 정해지다 보니, 테스트하기가 어려웠다. TDD 방식을 하는 이유 중 하나가 테스트를 하기 쉬운 코드를 짜기 위함도 있는데, 그게 너무 아쉬웠다. 다른 팀들의 코드를 참고하니 인터페이스를 활용해서 테스트를 할 때는 Random이 아니게 했는데, 더욱 공부를 해봐야겠다.

     

    사다리타기에 대한 피드백으로는

     

    - 요구사항에 대해 생각해보기 (요구사항을 맞추고, 이외의 상황에 관해서는 기획자, 요구사항을 작성한 사람에게 물어보는게 맞다.)

    - if문 컨벤션 맞추기(이러한 실수가 너무 잦다. - 포맷팅 기능을 마지막에 꼭 활용하자.)

    input.isEmpty() || input == null 이 부분에 대한 순서 맞추기 ( 왼쪽에서 오른쪽으로 실행하기 때문에 ..)

      => input == null || input.isEmpty() 가 실행이 될 맞는 순서이다.

    - for each를 쓸 수 있는 부분 수정하기 ( 코드를 최대한 깔끔하게 쓰자 )

    - temp 변수 사용하지 않기 (무슨 의미, 의도 하는지 ... )

    CustomSeparatorGroup  => CustomSeparators (클래스명 수정)

    - IDE 활용하기 ( IDE가 추천해주는 값, 방식 사용해보기)

     

     

    TDD를 하면서 느낀 점은 리팩토링을 하는데 있어서 겁이 드는게 없다. 리팩토링을 하고 나서 테스트 코드를 실행시키면 어떤 부분에서 에러가 나는지를 한 번에 파악할 수 있기 때문이다. TDD 방식이 근데 적응하기 어렵고, 아직도 습관적으로 프러덕션 코드부터 짜려고 한다. 의식적으로 연습을 해야겠다.

     

     

     

     

     

     

     

    LIST

    '교육 > 우아한 테크 코스' 카테고리의 다른 글

    [1주차 미션] 후기 및 피드백  (0) 2019.05.24
    단위 테스트  (0) 2019.05.12
    코드 컨벤션  (0) 2019.05.10
    우아한 테크코스 채용과정에 대한 소개와 느낀점  (0) 2019.05.09

    댓글

Designed by Tistory.