LFeldTom
Astronaut
Mal was zum Handwerklichen - was Schorsch ja schon angesprochen hat. Du solltest da deutlich systematischer vorgehen.
Die verschiedenen Bereiche wirst du hoffentlich in Unterfunktionen aufgeteilt haben. Hier sind Unit-Tests sehr hilfreich. D.H. Du machst AM ANFANG Überlegungen zu den Werten, die du erwartest. Dann schreibst du Funktionen, die diese Annahmen überprüfen. Bei jeder Änderung am Code rufst du die Unit-Tests auf um sicher zu stellen, dass deine Änderungen das bisher erreichte verschlechtern. Das ist - wie von Schorsch angemerkt - mühsam.
Gewöhn dich an eine Versionssicherung. Nach jeder Änderung diese einchecken und dokumentieren. Im Fehlerfall kannst du verschiedene Versionen durchtestet und den Fehler eingrenzen. Bzw die unmittelbaren Änderungen nochmal anschauen und entsprechend überprüfen. Ob man dafür Git, SubVersion oder was anderes nimmt ist als Einzelkämpfer nahezu egal.
Erklär jemandem deinen Code - du wirst dich wundern, was dir selber so alles auffällt, wenn du dies durchziehst.
Und - wichtig - gib nie auf.
Die verschiedenen Bereiche wirst du hoffentlich in Unterfunktionen aufgeteilt haben. Hier sind Unit-Tests sehr hilfreich. D.H. Du machst AM ANFANG Überlegungen zu den Werten, die du erwartest. Dann schreibst du Funktionen, die diese Annahmen überprüfen. Bei jeder Änderung am Code rufst du die Unit-Tests auf um sicher zu stellen, dass deine Änderungen das bisher erreichte verschlechtern. Das ist - wie von Schorsch angemerkt - mühsam.
Gewöhn dich an eine Versionssicherung. Nach jeder Änderung diese einchecken und dokumentieren. Im Fehlerfall kannst du verschiedene Versionen durchtestet und den Fehler eingrenzen. Bzw die unmittelbaren Änderungen nochmal anschauen und entsprechend überprüfen. Ob man dafür Git, SubVersion oder was anderes nimmt ist als Einzelkämpfer nahezu egal.
Erklär jemandem deinen Code - du wirst dich wundern, was dir selber so alles auffällt, wenn du dies durchziehst.
Und - wichtig - gib nie auf.