테스트 주도 개발 test driven development.
스펙을 만족하기 위헌 코드를 작성하기 전에 스펙을 만족하는 자동화 테스트 코드를 작성하고 테스트를 만족하는 코드를 작성하는 방식의 소프트웨어 개발 방법론.
장점은 나중에 코드를 변경할 때 테스트를 돌려봄으로 자신감 있게 변경할 수 있다는것.
단점은 초기 개발시간이 2배로 걸림. 스펙이 변경되면 또 두배로 걸림. 스펙이 변경되면 테스트에 이를 꾸준히 반영해야하는데 시간 없음. 그리고 가끔 테스트 한답시고 주객이 전도되어서 private 메소드를 public으로 바꿔버리는 만행을 저지르기도 함.
내 전 직장 상사는 좀 tdd 빠돌이였는데 tdd 물고빨면서 개발일정은 넉넉하게 못받아오고 연장근로수당도 못받아오는 병신 쓰레기 새끼였다. 그래서 나는 tdd에 대해 굉장히 탐탁치 않게 생각하고 있었지.
그런대 러스트 공식 가이드 문서에서도 테스트가 한 장을 할당한 쥬제로 나오고 좋은 코드를 작성하는 법에 관한 책을 읽고 있는데 여기서도 테스트에 관해서 설명이 나와서 내가 속한 조직이 병신이었을 쁀 테스트도 잘 쓰면 좋은 부분이 있지 않을꺼 싶어서 러스트를 배우지 못한 저급한 프로그래머들이지만 너희들이 혹시나 tdd로 좋은 경험을 해봤는지. 나쁜 경험이었다면 어떤것인지 의견을 경청하고자 한다.
- dc official App
책임 자지 개발