Wie man Probleme in der Programmierung löst

Kategorie: Quick Tips Veröffentlicht: Montag, 24. Juli 2017 Geschrieben von Kevin Chileong Lee
Quick Tip: Softwaretechnik

Ich erlebe es immer wieder, dass Leute Probleme haben Probleme zu lösen. Vor allem in der Pogrammierung ist das fatal, weil das ein großer Teil einnimmt. Viele werden es kennen. Man programmiert was man schon dutzend mal programmiert hat und auf einmal kommt ein Fehler, der vorher noch nie aufgetreten ist. Oder man muss Sachen programmieren, die man vorher noch nie gemacht hat. Oder der Klassiker programmiert ein Algorhytmus runter und bekommt beim ersten Test zunächst drölf Fehlermeldungen.

Wie geht man mit solchen Dingen am besten um?

Das wichtigste ist erstmal Ruhe bewahren. Das ist völlig normal und das ist programmieren! Wenn man das aktzeptiert, dann kommt man nicht in eine Stressspirale die einem bei der Lösungsfindung nur behindert. Dann zerteile das Problem in mehrere Teilprobleme: Teile und Herrsche.
Die wenigstens können größere Probleme auf einmal lösen. Denn es gibt viele Dinge zu beachten und eventuell viele Abhängigkeiten. Versucht man nun im Kopf das gesamte Problem zu lösen, dann wird man ewig über dieses Problem stehen ohne auch nur eine Zeile Code geschrieben zu haben. Du kannst kein Haus in einem Schritt bauen, also teile und plane deine Lösung in mehreren Schritten. Dann arbeitest du jeden Schritt einzelen ab.

Try and Error richtig nutzen

Viele neigen bei Problemen dazu, stumpf Dinge auszuprobieren die ihnen in den Sinn kommen. Dabei sind diese oft gar nicht sinnvoll. Manchmal liegt es daran, weil sie nicht wissen was sie tun. Manchmal liegt es daran das sie eine Art Protokoll abspulen, weil das schon oft geholfen hat. Zum Beispiel Cache löschen, Browserfenster oder gar PC neustarten.

Ich weiß, es gibt die Wunderheilung: Neustart und viele Probleme, insbesondere bei Typo3, hängen mit dem Cache zusammen, aber man muss lernen erstmal über das Problem nachzudenken. In der Programmierung steht man in der Regel vor konkreten Fehlermeldungen. Und obwohl die Lösung oft in der Fehlermeldung impliziert ist, können viele die Lösung dennoch nicht finden.
Das liegt daran, daß sie die Fehlermeldung gar nicht oder nicht komplett verstehen. Deshalb lese die Fehlermeldung behutsam durch und nur wenn du sie komplett verstehst, dann mache dir ein Plan über potentielle Ursachen und gehe sie durch.
Falls du das Gefühl hast die Fehlermeldung nicht gänzlich zu verstehen, dann recherchiere und lerne. In der heutigen Zeit muss man die Fehlemeldung nur noch in Google eintippen und man bekommt meistens genug Ergebnisse die einem helfen das Problem besser zu verstehen.

Wer die Fehlermeldung versteht, der kennt die Lösung oder weiß wo er sie finden kann.

Arbeite alles nacheinander ab

Hast du dein Problem in mehrere Teilprobleme zerlegt, dann arbeite ein Teilproblem nach dem anderen ab. Fokussiere dich dabei nur auf dieses Teilproblem. Viele Schweifen während der Lösungsfindung ab oder stoßen auf neue Probleme die mit dem aktuellen Problem nichts zu tun haben. Zum Beispiel versuchen sie gerade ein Problem in ihrer Extension zu lösen und sehen dabei noch ein CSS Fehler der gar nichts mit der Extension zu tun hat. Dann fixen sie es und wissen danach nicht mehr, wie sie ihr ursprüngliches Problem lösen wollten. 

Lass dich nicht ablenken und konzentriere dich auf dein aktuelles Teilproblem und erst wenn alle Teilprobleme abgeschlossen sind, dann mache weiter. Im übrigen müssen die Lösungen der Teilprobleme nicht sofort optimal sein. Wichtig ist es erstmal, daß sie überhaupt gelöst werden. Optimierungen kommen immer am Schluß.

Verstehe und lerne aus den Fehlern

Eine Sache die auch immer wieder vorkommt ist, dass man immer wieder auf die gleichen Probleme stößt. Das ist ein Indikator, dass du entweder die Fehlermeldung oder die gefunde Lösung nicht komplett verstanden hast. Auch in Projekten mit Zeitdruck solltest du dir die Zeit nehmen, um zu verstehen, was du gerade tust und verwendest.

Beispiel:
Ich wollte bei meinem Projekt: Snap.It Slavlee Elemente in einem Kreis ausrichten. Die Anzahl der Elemente sollten flexibel sein und zusätzlich sollte der Text am Rande des Kreises ausgerichtet sein. Da meine Geometriekenntnisse eher mangelhaft sind, hatte ich da erhebliche Schwierigkeiten. Ich habe viele Quellen zu diesem Thema gefunden. Bei der Suche merkte ich, daß ich nicht richtig vorwärts komme. Das lag daran, daß ich die Mathematik dahinter nicht verstanden habe. Deswegen habe ich dann erstmal wieder die Grundlagen der Geometrie gelernt. Erst dann konnte ich eine angemessene Lösung zusammenstellen.

Ich empfehle dir stets zu überprüfen, ob du wirklich die gefundenen Lösungen verstehst. Codeschnipsel aus dem Internet einfach Copy&Paste - mäßig zu übernehmen ist grundsätzlich eine sehr schlechte Idee. Man sollte nur das nutzen, was man auch versteht.

Dieser Prozess mag zu Beginn kraftaufwendig und langsam sein, aber nur so wirst du lernen, dich weiterentwickeln und anfangen diese Fehler nicht wieder zu machen und ähnliche Fehler selbstständig lösen können.

Ich hoffe ich konnte dir mit diesen Tips helfen Lösungen zu deinen Problemen zu finden. Falls du Fragen oder Ergänzungen hast, dann dann besuch mich auf meiner Facebook Seite und sende mir eine Nachricht oder schreibe es auf der Pinnwand. Du kannst natürlich auch das Kontaktformular nutzen.

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.