교육

우아한테크캠프 Pro 4기 1주차 교육 기록 (로또 TDD)

놋수저 2022. 5. 12. 23:29
반응형

- 교육에 임하는 자세

  • 교육 진행 기간동안의 주변환경 정리
  • 자기주도적 학습 자세 갖기

- TDD

  • TDD의 시작은 Node 상의 마지막에 있는, 즉 가장 하위이면서 작은 단위의 객체로 부터 단위테스트를 진행하는 것이 수월하다.
  • TDD 접근 단계
    • 1단계 : Util성 기능 단위테스트
    • 2단계 : 복잡도가 낮은 기능 단위테스트
    • 3단계 : 복잡도가 높은 단위 테스트
    • 4단계 : 단위테스트 하기 어려운 부분 정리
      • 테스트가 가능한 구조로 객체를 수정해본다.
      • EX) View, DB CRUD 등등.. => 테스트 코드에 투자한 시간 대비 얻을 수 있는 효과를 고민하여 시간 대비 비효율적이라고 판단되는 부분은 테스트코드를 작성하지 않는다.
  • 테스트 코드 작성 단계
    • 실패하는 테스트 만들기 => 컴파일 에러 없이 프로젝트 실행이 가능한 수준으로 코드 작성
    • Production Code 구현
    • 코드 리펙토링 (중복제거, 메서드 분리 등등..)

- 클린코드

  • public 메서드를 간략하게 구성하고, private 메서드에서 핵심로직을 작성하자.
  • 메서드는 한 가지 역할만 수행한다.
  • Dto를 제외한 도메인 객체에서는 setter를 금지, getter는 외부에 특정 변수를 전달하고 싶을 때만 getter를 사용하고, 가급적 지양하자.
    • getter는 외부에서 값을 직접 접근한다는 의미이므로 객체에서 직접 값을 꺼내는 것을 지양하고, 필요한 값에 대하여 객체에 메시지를 전달한다는 접근을 가지자.
    • 외부에서 getter를 많이 사용할 수록 중복코드가 발생하고 수정이 필요할 때 유지보수가 어렵다.
    • 메시지를 전달하는 메서드를 작성하면, 중복코드를 줄일 수 있다. 단위테스트 작성이 쉽다.
    • OOP 유념
  • 메서드명 부여 Tip By '엘레강스 오브젝트', 반드시 정답인 것은 아님
    • 반환값을 가지는 메서드명은 명사로 설정
      • EX) 최댓값을 반환하는 함수 => maxValue() 
    • 데이터를 변경하는 메서드명은 동사로 설정
      • EX) 값을 증가시키는 함수 => increaseValue()
  • 값을 비교할 때 특정값이 아닌 객체단위로 비교하도력 노력하자.
    • 객체의 equals 메서드 오버라이드 
    • EX) object.getValue() == 1  -> object1.equal(object2)

- 유익한 IDE 단축키

  • Alt + Command + m : 메서드 생성
  • Alt + F7 : 의존하고 있는 위치 노출
반응형
LIST

'교육' 카테고리의 다른 글

우아한테크캠프 Pro 4기 교육과정 선발 후기  (0) 2022.05.10