7ce88176b08060f73cefe9e1178025643b893caac42ece5898ccbc3d78d5ae3e443a292d269fe27e

테스트 주도 개발 test driven development.
스펙을 만족하기 위헌 코드를 작성하기 전에 스펙을 만족하는 자동화 테스트 코드를 작성하고 테스트를 만족하는 코드를 작성하는 방식의 소프트웨어 개발 방법론.
장점은 나중에 코드를 변경할 때 테스트를 돌려봄으로 자신감 있게 변경할 수 있다는것.
단점은 초기 개발시간이 2배로 걸림. 스펙이 변경되면 또 두배로 걸림. 스펙이 변경되면 테스트에 이를 꾸준히 반영해야하는데 시간 없음. 그리고 가끔 테스트 한답시고 주객이 전도되어서 private 메소드를 public으로 바꿔버리는 만행을 저지르기도 함.

내 전 직장 상사는 좀 tdd 빠돌이였는데 tdd 물고빨면서 개발일정은 넉넉하게 못받아오고 연장근로수당도 못받아오는 병신 쓰레기 새끼였다. 그래서 나는 tdd에 대해 굉장히 탐탁치 않게 생각하고 있었지.
그런대 러스트 공식 가이드 문서에서도 테스트가 한 장을 할당한 쥬제로 나오고 좋은 코드를 작성하는 법에 관한 책을 읽고 있는데 여기서도 테스트에 관해서 설명이 나와서 내가 속한 조직이 병신이었을 쁀 테스트도 잘 쓰면 좋은 부분이 있지 않을꺼 싶어서 러스트를 배우지 못한 저급한 프로그래머들이지만 너희들이 혹시나 tdd로 좋은 경험을 해봤는지. 나쁜 경험이었다면 어떤것인지 의견을 경청하고자 한다.

- dc official App