Welche guten Methoden gibt es für die Vermeidung von Bugs beim Programmieren?
Faktorisierung: Das Zerkleinern von Problemen in so kleine einzelne Funktionen (Methoden) dass Fehler nicht (okay, kaum) mehr möglich sind. Kleine Funktionen lassen sich ganz leicht testen und debuggen. Wenn man sie sieht ist es offensichtlich dass sie funktionieren. Sie verwenden ganz wenig Variablen, also verliert man nicht den Überblick. Wenn man viele kleine, gut benannte Funktionen hat liest sich letztlich das Programm wie Prosa. Es gibt natürlich noch viel viel mehr (Typisierung, Daten kapseln, funktional programmieren…), aber Faktorisierung ist für mich an TOP Position.
z.B. (C):
kunde_t *kunde_suchen(char *name) { 
  kunde_t *k; 
  for(k=kunden;k;k=k->next) if(!strcmp(k->name, name)) return k; 
  return 0; 
} 