Test Driven Development

박상훈·2022년 11월 22일
post-thumbnail

매번 고객에 요구사항에 대한 기능을 구현하기 위해 비지니스 로직을 머리속으로 그리며 개발을 진행하곤 했다

로직을 어느정도 그려 내려가다 보면 무언가 놓친게 있어서 다시 처음으로
올라가고 다시 그려 내려가고를 여러번 반복하다 보면 코드는 기능에 대한 역할을 하고 있지만 가독성이 좋지 않고 성능에 대한 고려는 전혀 없으며
유지보수까지 놓쳐 있는 경우가 대부분이다

문득 내가 잘못된 습관으로 코드를 작성하고 있는 것 같아 도움을 받고자
읽은 Test Driven Development

기능을 바로 구현하지 않고 테스트를 시작으로 기능을 구현하는 방법

기능을 아주 작은 단위(익숙해지면 단위에 대한 기준을 높임)로 분리하여 테스트하며 테스트가 성공하면 중복을 제거하고 필요한 기능이 제 역할을 할 때 리팩토링까지 고려하여 가독성과 유지보수에 용이하게 할 수 있다

책을 읽고 적용하기 시작한지 얼마 되지 않았지만
기존에 작성했던 스케줄러 애플리케이션의 기능을 작은 단위로 분리하여
테스트 해본 결과 너무 많은 기능이 하나의 큰 기능으로 뭉쳐져 있었고
(충분히 분리될 수 있었음) 자바를 사용하는데 OOP에 해당하지 않게
작성한 것 같다. 반성한다

지금부터 TDD 없이 개발을 진행하지 않을 것이다
이 후 얼마나 좋은 코드를 가질 수 있을지 기대된다
목표한 바를 이룰 때까지 가보자

profile
엔지니어

0개의 댓글