Wie verwende ich TDD richtig, um eine numerische Methode zu implementieren?

Ich versuche, Test Driven Development zu verwenden, um meine Signalverarbeitungsbibliothek zu implementieren. Aber ich habe ein wenig Zweifel: Angenommen, ich versuche eine Sinusmethode zu implementieren (ich bin es nicht):

Schreibe den Test (Pseudocode)

assertEqual(0, sine(0))

Schreiben Sie die erste Implementierung

function sine(radians)
    return 0

Zweiter Test

assertEqual(1, sine(pi))

An dieser Stelle sollte ich:

einen intelligenten Code implementieren, der für pi und andere Werte funktioniert, oderImplementieren Sie den dümmsten Code, der nur für 0 und pi funktioniert?

Wenn Sie die zweite Option wählen, wann kann ich zur ersten Option springen? Ich werde es irgendwann tun müssen ...

Antworten auf die Frage(9)

Ihre Antwort auf die Frage