Ich programmiere seit einiger Zeit in C und C ++, obwohl ich sagen würde, dass ich weit davon entfernt bin, ein Experte zu sein. Seit einiger Zeit verwende ich verschiedene Strategien, um meinen Code zu entwickeln, z. B. Komponententests, testgetriebenes Design, Codeüberprüfungen usw.
Als ich meine ersten Programme in BASIC schrieb, tippte ich lange Blöcke ein, bevor ich feststellte, dass sie nicht ausgeführt werden würden und ein Albtraum zum Debuggen waren. Also habe ich gelernt, ein bisschen zu schreiben und es dann zu testen.
Heutzutage schreibe ich oft wiederholt ein kleines Stück Code und benutze dann den Compiler, um alle Fehler zu finden. Das ist in Ordnung, wenn es einen Tippfehler aufgreift, aber wenn Sie anfangen, die Parametertypen usw. anzupassen, damit es kompiliert wird, können Sie das Design vermasseln. Es scheint auch, dass sich der Compiler in den Entwurfsprozess einschleicht, wenn er nur zur Überprüfung der Syntax verwendet werden soll.
Hier besteht die Gefahr, dass ich mich zu sehr auf den Compiler verlasse, um meine Programme zu verbessern. Gibt es bessere Strategien als diese?
Ich erinnere mich vage an einen Artikel über ein Unternehmen, das eine Art C-Compiler entwickelt hat, in dem in einer zusätzlichen Header-Datei auch die Prototypen angegeben wurden. Die Idee war, dass Inkonsistenzen in der API-Definition leichter zu erkennen sind, wenn Sie sie zweimal auf unterschiedliche Weise definieren müssen.