Die anderen Antworten sind bereits sehr gut und ich weiß, dass Ihr Beispiel nur ein Beispiel ist, aber ich möchte auf einen großen Teil dieses Prozesses hinweisen, der noch nicht besprochen wurde:
Sie müssen Ihre Annahmen identifizieren und diese Annahmen dann anhand von Eckfällen testen.
Wenn ich mir Ihr Beispiel anschaue, sehe ich ein paar Annahmen:
- Der rekursive Ansatz verursacht schließlich einen Fehler.
- Niemand wird diesen Fehler bemerken, da die Wiedergabe von Videos zu lange dauert, um das Stapellimit zu erreichen.
Andere Leute haben die erste Annahme diskutiert, aber schauen Sie sich die zweite Annahme an: Was ist, wenn mein Video nur einen Bruchteil einer Sekunde lang ist?
Und sicher, vielleicht ist das kein alltäglicher Anwendungsfall. Aber bist du wirklich sicher, dass niemand ein sehr kurzes Video hochladen wird? Sie gehen davon aus, dass Videos eine Mindestdauer haben, und Sie haben wahrscheinlich nicht einmal bemerkt, dass Sie etwas angenommen haben! Könnte diese Annahme andere Fehler an anderen Stellen in Ihrer Anwendung verursachen?
Unbekannte Annahmen sind eine riesige Fehlerquelle.
Wie gesagt, ich weiß, dass Ihr Beispiel nur ein Beispiel ist, aber dieser Prozess, bei dem Sie Ihre Annahmen identifizieren (was oft schwieriger ist als es sich anhört) und dann über Ausnahmen von diesen Annahmen nachdenken, ist ein wichtiger Faktor bei der Entscheidung, wo Sie Ihre Zeit verbringen möchten.
Wenn Sie sich also denken, "Ich sollte das nicht programmieren müssen, da es niemals passieren wird", sollten Sie sich etwas Zeit nehmen, um diese Annahme wirklich zu untersuchen. Sie werden oft an Eckfälle denken, die möglicherweise häufiger vorkommen, als Sie ursprünglich dachten.
Abgesehen davon gibt es einen Punkt, an dem dies zu einer Übung der Sinnlosigkeit wird. Es ist Ihnen wahrscheinlich egal, ob Ihre JavaScript-Anwendung auf einem TI-89-Rechner einwandfrei funktioniert. Daher ist es reine Zeitverschwendung, dafür Zeit aufzuwenden.
Die anderen Antworten haben dies bereits behandelt, aber diese Grenze zwischen "das ist wichtig" und "das ist Zeitverschwendung" zu finden, ist keine exakte Wissenschaft und hängt von vielen Faktoren ab, die sich von einer völlig unterscheiden können Person oder Firma zu einem anderen.
Ein großer Teil dieses Prozesses besteht jedoch darin, zuerst Ihre Annahmen zu identifizieren und dann zu versuchen, Ausnahmen von diesen Annahmen zu erkennen.