본문 바로가기

생각

[우아한테크세미나] TDD 리팩토링 후기

https://www.youtube.com/watch?v=bIeqAlmNRrA 

후기 

우아한테크세미나 TDD 리팩토링을 들은 후 요약 및 생각정리 입니다 .

INTRO 

- 리팩토링  ,  TDD 를 꾸준히 연습하기 보단 , 일단 무언가를 꾸준히 하는 습관을 들여야 한다.

- 시간확보를 잘 해야 한다.

- 의식적인 연습을 해야한다.

- 자신의 능력을 살짝 넘어가는 작업을 시도해라 

 

1단계 단위테스트를 하라 

내가 사용하는 API 사용법을 익히기 위한 학습 테스트에서 시작 

 

사실 자바스크립트도 많은 내장 API를 가지고 있기 때문에 나중에 익히면서 단위테스트를 하면 좋을거 같다.

 

기대효과

1. 단위테스트 방법

2. jest 학습 

3. API 학습효과

 

2 단계 TDD 

난이도가 낮거나 익숙한 문제로 시작하라 ! 

작은 코드도 충분히 연습할게 많다.

 

TDD 사이클 

1. 실패하는 테스트

2. 성공하는 테스트

3. 리팩토링 

 

사람들은 테스트 케이스만 중요시하고 리팩토링을 안하는 경우가 있는데 , 리팩토링이 핵심이다 ! 

 

3 단계 메소드 분리 리팩토링

1. 인덴트를 줄여라

 -> 인덴트를 맞추는 방법은 메서드 단위로 쪼개야 한다.

2. else 예약어를 쓰지 않는다.

 -> 바로 예외상황이 발생하면 리턴해준다.

3. 메서드가 한가지 일만 하도록 해라 

 -> 메서드 재활용성이 올라간다. 

4. 로컬변수가 필요한지 생각해봐라 

 

- 위에 리팩토링 모든 원칙을 지키면서 연습하지 말고 , 한가지 씩 구체적인 목표를 가지고 연습해라 ! 

- 오히려 작은 코드가 연습하기 좋다. 

 

4단계 토이 프로젝트 난이도 높이기

요구 사항이 명백한 게임 같은 것들이 만들기 좋다. 

앞에 요구사항을 지키면서 연습해라 

 

게임 (지뢰찿기 , 로또 , 볼링 , 사다리타기 , 체스)

 

5단계 의존관계를 통한 난이도 높이기

테스트 하기 쉬운코드와 , 어려운 코드를 보는 눈이 생긴다.

앞 단계 연습을 잘 소화했다면 충분히 보는 눈이 생겼을 것이다.

 

한 단계 더 나아간 연습 

- 컴파일 에러 최소화 하면서 리팩토링

- ATDD 기반으로 응용 애플리케이션 개발

- 레거시 애플리케이션 테스트 코드 추가해 리팩토링 하기 

 

리팩토링 적용 실패하는 이유

TDD , 리팩토링 연습이 충분하지 않은 상태에서 난이도가 높은 코드에 도전하기 때문 !

 


😒 생각 정리 

나는 그동안 코드 짤때 별 생각없이 동작하기만 하면 넘겼던거 같다. 

나는 내 코드를 다시 돌이켜 보면서 리팩토링 하는 생각을 가진 적 없을 뿐더러 좋은 코드를 쓰기 위한 노력을 하지 않았던거 같다.

이번 세미나 영상을 보면서 느낀점은 꾸준히 스스로 생각하면서 코드를 짜자 라는 생각을 느꼈다. 

앞으로는 코드를 짤때 최대한 3단계 규칙을 지키면서 생각하면서 코드를 짜는 습관을 꾸준히 길러야 겠다. 

 

그래도 세미나를 들으면서 느꼈던 나의 장점은 그나마 나는 가보지 않은 길에 꾸준히 도전할 수 있는 용기 즉 새로운 분야에 대한 거부감 보단 새로운 것을 익힐수 있다는 긍정적 마인드가 나는 충분한거 같아서 기분이 좋았다.

 

꾸준히 연습만이 살길인거 같다... !  

 

나 스스로를 돌아볼 수 있는 좋은 동기부여가 된거 같다 !! 

 

 

 

 

 

 

'생각' 카테고리의 다른 글

Penple 개발 후기  (0) 2023.10.13
2022년 회고  (0) 2023.01.01