오늘 우리는 TDD를 훈련하고 있었고 다음과 같은 오해를 발견했습니다.
이 작업은 입력 "1,2"에 대한 숫자의 합계를 3으로 반환하는 것입니다.
numbers = input.Split(',');
return int.Parse(numbers[0]) + int.Parse(numbers[1]); //task said we have two numbers and input is correct
그러나 다른 사람들은 다른 방법으로 그것을 선호했습니다. 먼저 입력 "1,2"에 대해 다음 코드를 추가했습니다.
if (input == "1,2")
return 3;
그런 다음 입력 "4,5"에 대한 테스트를 하나 더 도입하고 구현을 변경했습니다.
if (input == "1,2")
return 3;
else if (input == "4,5")
return 9;
그 후 그들은 "좋아, 이제 패턴을 본다"고 말하고 내가 처음에 한 일을 구현했습니다.
두 번째 접근 방식이 TDD 정의에 더 적합하다고 생각하지만 ... 우리는 그것에 대해 너무 엄격해야합니까? 나에게 사소한 아기 단계를 건너 뛰고 아무것도 건너 뛰지 않을 것이라고 확신하는 경우 "트윈 스텝"으로 결합하는 것이 좋습니다. 내가 잘못?
최신 정보. 나는 그것이 첫 번째 테스트가 아니었다는 것을 박살 내서 실수를했다. 이미 몇 가지 테스트가 있었으므로 "return 3"은 실제로 요구 사항을 충족시키는 가장 간단한 코드는 아니 었습니다.