반응형
Clean code that works. (작동하는 깔끔한 코드) - Ron Jeffries
테스트 주도 개발의 궁극적인 목표.
개요
많은 요인들은 우리를 깔끔한 코드로부터 멀어지게 만들고
작동하는 코드조차 만들기 어렵게 하는 현실이다.
이런 두려움에 빠지지 말고 자동화된 테스트로 개발을 이끌어가자.
이런 개발 방식이 바로 테스트 주도 개발 !
테스트 주도 개발은
- 오직 자동화된 테스트가 실패할 경우에만 새로운 코드를 작성한다.
- 중복을 제거한다.
이 두 가지 규칙만을 따른다.
위 두 가지 규칙에 의해 프로그래밍 순서는 다음과 같이 결정된다.
- 빨강 - 실패하는 작은 테스트를 작성한다. 컴파일도 안 될수도 ..
- 초록 - 빨리 테스트가 통과하게끔 만든다. 무슨 수를 써서라도 !
- 리팩토링 - 일단 테스트를 통과시키는 중에 생긴 모든 중복 제거
💁🏻♂️ : TDD 의 주문을 외워봅시다.
🙋♂️ : ?
💁🏻♂️ : 빨강/초록/리팩토링 ~
왜 이렇게 작업해야 하나
왜 개발자가 자동화된 테스트를 만드느라 추가 작업을 해야 할까?
바로 용기 때문이다.
용기.
테스트 주도 개발은 프로그래밍 하면서 나타나는 두려움을 관리하는 방법 이다.
여기서 두려움은 “아 진짜 너무 무섭다 ㅠㅠ” 가 아니라..
“정말 어려운 문제라서 시작 단계인 지금은 어떻게 마무리될지 알 수 없군.” 하는 식의
합리적인 두려움이다.
두려움은 우리를 망설이게 하고, 커뮤니케이션을 덜 하게 하며,
피드백 받는 것을 피하게 하고, 까다롭게 만든다.
일단 테스트 하나를 작동하게 하면,
현재 그리고 앞으로 영원히 작동할 거라는 걸 알 수 있다.
이제 다음 테스트, 그 다음, 또 다음 ..
일단 시작하고 나면
- 단순하게 시작
- 자동화된 테스트를 만듬
- 새로운 설계를 하나씩 도입하기 위해 리팩토링을 할 준비
를 하게 될 것이다.
TDD 를 시작해보자 🫠
728x90
반응형