Ich versuche, TDD in meine tägliche Programmierpraxis aufzunehmen. Ich benutze es bei der Arbeit sehr effektiv, aber ich habe Probleme mit meinen persönlichen Projekten, bei denen ich einige komplexe Algorithmen verwende.
Der spezielle Algorithmus, der mich dazu bringt, diese Frage zu stellen, ist der erweiterte Kalman-Filter. Es ist komplex genug, dass ich nicht sicher bin, welchen Code ich geschrieben habe, aber es ist einfach genug, dass es schwierig ist, sich zu trennen.
Ich könnte einen Test für den Algorithmus mit einer Eingabe und der erwarteten Ausgabe schreiben, aber ich werde in der Mitte viel Thrashing und Shotgun-Codierung durchführen, weil ich kein Vertrauen in diese Zwischenschritte habe.
Was ist Ihr Ansatz, wenn Sie mit vernünftig komplexen Algorithmen gearbeitet und TDD verwendet haben?