Der Titel sagt alles. Mein Unternehmen verwendet ein älteres Firmware-Projekt für ein Mikrocontroller-Gerät, das vollständig in C geschrieben ist.
Es gibt Teile, die offensichtlich falsch sind und geändert werden müssen, und die aus einem C # / TDD-Hintergrund stammen. Ich mag die Idee nicht, Dinge ohne Tests zufällig umzugestalten, um sicherzustellen, dass die Funktionalität unverändert bleibt. Ich habe auch gesehen, dass schwer zu findende Fehler in vielen Fällen durch geringste Änderungen eingeführt wurden (was meiner Meinung nach behoben werden würde, wenn Regressionstests verwendet würden). Es muss sehr sorgfältig vorgegangen werden, um diese Fehler zu vermeiden: Es ist schwierig, eine Reihe von Globals um den Code herum zu verfolgen.
Zusammenfassen:
- Wie können Sie vor dem Refactoring Unit-Tests zu vorhandenem eng gekoppeltem Code hinzufügen?
- Welche Tools empfehlen Sie? (weniger wichtig, aber trotzdem schön zu wissen)
Ich bin nicht direkt am Schreiben dieses Codes beteiligt (meine Verantwortung ist eine App, die auf verschiedene Weise mit dem Gerät interagiert), aber es wäre schlecht, wenn gute Programmierprinzipien zurückgelassen würden, wenn die Möglichkeit bestünde, dass sie verwendet werden könnten.