다른 답변은 이미 훌륭하며 귀하의 예가 단지 예일 뿐이라는 것을 알고 있지만 아직 논의되지 않은이 과정의 큰 부분을 지적하고 싶습니다.
가정을 식별 한 다음 모퉁이와 비교하여 가정을 테스트해야합니다.
귀하의 예를 보면 몇 가지 가정이 있습니다.
- 재귀 접근 방식은 결국 오류를 발생시킵니다.
- 동영상이 스택 한도에 도달하는 데 너무 오래 걸리기 때문에이 오류가 표시되지 않습니다.
다른 사람들이 첫 번째 가정에 대해 논의했지만 두 번째 가정을 살펴보십시오. 내 비디오가 1 초 길이에 불과하면 어떻게 되나요?
그리고 아마도 그것은 매우 일반적인 사용 사례가 아닐 수도 있습니다. 그러나 아무도 매우 짧은 비디오를 업로드 하지 않을 것이라고 정말로 확신 하십니까? 당신은 비디오가 최소 지속 시간이라고 가정하고 있으며 아마도 당신이 아무것도 가정하고 있다는 것을 깨닫지 못했을 것입니다! 이 가정이 응용 프로그램의 다른 위치에 다른 버그를 일으킬 수 있습니까?
알 수없는 가정은 버그의 큰 원인입니다.
내가 말했듯이, 나는 당신의 예가 단지 예일 뿐이라는 것을 알고 있지만, 당신의 가정을 식별하고 (이것은 종종 들리는 것보다 어려운)이 가정에 대한 예외를 생각하는이 과정은 당신의 시간을 어디에서 보낼 것인지 결정하는 데 큰 요소입니다.
"내가 결코 일어나지 않을 것이기 때문에이 문제에 대해 프로그램 할 필요가 없다"고 생각한다면, 그 가정을 실제로 조사하기 위해 약간의 시간이 걸린다. 당신은 종종 원래 생각했던 것보다 더 일반적인 코너 케이스를 생각할 것입니다.
즉, 이것이 무용지물이되는 시점이 있습니다. JavaScript 응용 프로그램이 TI-89 계산기에서 완벽하게 작동하는지 신경 쓰지 않아도되므로 시간을 낭비하는 것만 낭비됩니다.
다른 답변은 이미 이것을 다루었지만 "이것은 중요하다"와 "이것은 시간 낭비입니다"사이의 줄을 찾는 것은 정확한 과학이 아니며, 그것은 하나와 완전히 다를 수있는 많은 요소에 달려 있습니다 사람이나 회사를 다른 사람에게.
그러나 그 과정의 큰 부분은 먼저 가정을 파악한 다음 그 가정에 대한 예외를 인식하려고합니다.