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 ...