ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 우아한테크캠프 Day02
    우아한테크캠프 2018. 7. 3. 14:42

    오늘은 수업 전 15분 정도 daily meeting을 진행했다.


    이미 D사 인턴 과정에서, 팀원들과 daily meeting을 했었고, 효과를 봤던 나로서는 반가웠던 시간이었다.



    Day02 학습 내용



    코딩 컨벤션

    가로 format : 120자 정도로 행 길이를 제한한다.

    함수 인수인수가 3~4개인 경우 인수를 클래스로 만들 수는 없는지 고려한다.

    패키지 이름 : 자바 진영에서는 패키지 이름을 무조건 소문자로 한다. 

                       (패키지 이름은 단어 한 개로 표현, 단어 두 개를 붙여 쓰고 싶으면 디렉터리로 쪼갤 것)


    [Tip]

    1. 구현할 땐 구현에만(한 가지만) 신경 쓸 것 (구현하고 나서 더 좋은 이름을 짓는 시간을 가질 것)

    2. 코딩 컨벤션 사소한 것 하나에 목숨 걸지 말 것, 더 중요한 것이 훨씬 많다.

    3. 코드 작성할 때, 문단을 나눈다는 의미는 다른 컨텍스라는 의미기 때문에 메소드로 나누는 단위가 될 수도 있다.



    나의 문제점

    테스트 코드를 짤 때 어디서, 어떻게 시작해야 할지 막막하다. 

    또한, 테스트하기 어려운 코드를 작성 한다. 



    내가 작성한 코드가 테스트하기 어렵다면

    설계가 잘못됐을 수도 있다는 힌트기 때문에, 구조·설계를 바꿔서 테스트하기 쉬운 코드로 변경해야 한다.

    (설계가 잘됐다면 테스트하기 쉽다)

    테스트 코드를 작성하는 또 다른 이유는 설계가 잘됐는지 아닌지 검증용


    테스트하기 어려운 코드

    개발자가 move( ) 메소드에서 이동할 때(=getRandomNo( ) 값이 4이상)와 이동할 수 없을 때(=getRandomNo( ) 값이 4미만)를 제어 할 수 없다.

    public class Car {
        private static final int FORWARD_NUM = 4;
    
        private int position;
    
        [...]
    
        public void move() {
            if (getRandomNo() >= 4)
                this.position++;
        }
    
        public int getRandomNo() {
            Random random = new Random();
            return random.nextInt(10);
        }
    }


    테스트하기 쉬운 코드란?

    1. 순수함수 (입력 값에 따라 결괏값이 항상 똑같은 함수)는 테스트하기 쉽다.

       * 함수형 프로그래밍을 연습해보면 된다. (함수형 프로그래밍은 테스트하기 쉽다)

    2. 반환 값이 있는 함수는 테스트하기 쉽다.

    3. 외부에서 값을 넣어주는 방식으로 코드를 짜면 테스트하기 쉬운 코드를 작성할 수 있다.

    4. 개발자 스스로가 메소드를 제어할 수 있어야 한다. (ex. 개발자가 move( ) 메소드에서 이동할 때와 이동할 수 없을 때를 정할 수 있어야 한다.)



    '우아한테크캠프' 카테고리의 다른 글

    우아한테크캠프 Day05  (0) 2018.07.09
    우아한테크캠프 Day04  (0) 2018.07.05
    우아한테크캠프 Day03  (0) 2018.07.04
    자바8 스트림 API & Optional<T>  (0) 2018.07.03
    우아한테크캠프 Day01  (0) 2018.07.02

    댓글

Designed by Tistory.