Suche

Java-Programmierung: Die 10 häufigsten Anfängerfehler

Michael Thomas

© Shutterstock.com/Lonely Walker

Was sind die häufigsten Anfängerfehler bei der Programmierung mit Java? Dieser Frage sind Wissenschaftler der University of Kent nachgegangen. Das Ergebnis: Es sind gänzlich andere, als viele glauben.

Im Rahmen einer Big-Data-Anlyse untersuchten die Forscher den von rund 265 000 Informatik-Studenten produzierten Quellcode, der mithilfe des BlueJ Blackbox Data Collection Project erhoben wurde und 46 448 212 Quelldateien umfasste. Wie Michael Beyeler, Doktorand am Fachbereich Informatik der University of California/Irvine, in einem zusammenfassenden Blogpost berichtet, kamen die Wissenschaftler dabei zu einer für sie überraschenden Erkenntnis: Die häufigsten Anfängerfehler waren mitnichten diejenigen, die Java-Experten und-Lehrer aufgrund anekdotischer Erfahrungen erwarteten. In loser Reihenfolge sind die Top-Ten demnach:

  1. Vergessene oder falsch gesetzte runde, geschweifte und eckige Klammern (z. B. (a == 0]) und Anführungszeichen.
  2. Aufruf von Methoden anhand falscher Argumente oder Argumenttypen.
  3. Der Kontrollfluss erreicht das Ende einer Nicht-void-Methode ohne Rückgabe, z. B.
    public int foo(int x)
     {
     if (x < 0)
     return 0;
     x += 1;
     }
  4. Verwechslung des Zuweisungsoperators mit dem Vergleichsoperator.
  5. Ignorieren oder Verwerfen des Rückgabewerts einer Methode mit einem non-void-Rückgabetyp (z. B. in myObject.toString();).
  6. Verwendung von == anstelle von .equals beim Vergleichen von Strings.
  7. Der Versuch, eine nicht-statische Methoden so aufzurufen, als sei sie statisch.
  8. Eine Klasse behauptet, eine Schnittstelle zu implementieren, implementiert jedoch nicht alle dafür erforderlichen Methoden.
  9. Aufruf der Typen eines Parameters bei Aufruf einer Methode (z. B. myObject.foo(int x, String s);.).
  10. Inkorrekt verwendete Semikolons in if-Anweisungen oder for– und while-Schleifen.

In der Diskrepanz von erwarteten und tatsächlichen Anfängerfehlern sehen die Forscher einen gefährlichen Trend: Da Java-Experten und-Lehrer in der Regel für die Produktion des Großteils der Fachliteratur verantwortlich zeichnen, besteht aus ihrer Sicht die Gefahr, dass sich der Graben zwischen den in der Literatur besprochenen und in der Realität auftretenden Problemen potentiell immer weiter vertiefen wird.

 

Aufmacherbild: Start concept background von Shutterstock / Urheberrecht: Lonely Walker

Geschrieben von
Michael Thomas
Michael Thomas
Michael Thomas studierte Erziehungswissenschaft an der Johannes Gutenberg-Universität Mainz und arbeitet seit 2013 als Freelance-Autor bei JAXenter.de. Kontakt: mthomas[at]sandsmedia.com
Kommentare
  1. Ralph2016-01-28 11:44:15

    Ganz ehrlich, außer Punkt (6) "Verwendung von == anstelle von .equals beim Vergleichen von Strings." sind das doch völlig ungefährliche Syntax-Fehler die vom Compiler "gefunden" werden.

    Da Syntaxfehler durch lesen der Compiler Fehlermeldung zu beheben ist, sollte sich die Fachliteratur weiterhin um die echten Programmierfehler kümmern die nicht so offensichtlich sind und von Tools oft nicht gefunden werden können. Von daher kann ich die Kritik in keiner Weise nachvollziehen.

  2. Thomas2016-01-28 17:57:53

    Dem Kommentar von Ralph kann ich nur zustimmen. Die meiste ernsthafte Entwicklung wird vermutlich unter Einsatz von IDEs stattfinden und in dem Fall taucht sofort eine rote Unterkringelung oder etwas in der Art auf, so dass nicht einmal ein explizites Kompilieren notwendig ist, um diese Fehler sofort auszumerzen.

    Damit ist das Ergebnis dieser Studie in meinen Augen ohne jegliche praktische Relevanz. Niemand schreibt Code auf Papier und liefert diesen aus ohne ihn nicht mindestens einmal zu kompilieren. So werden die beschriebenen Fehler nirgendwo Probleme machen, außer vielleicht in der Note von Java Klausuren, bei denen aus dem Kopf auf Papier Programme geschrieben werden sollen.

  3. Die häufigsten Anfängerfehler bei der Java-Programmierung | Fachinformatiker Anwendungsentwicklung2016-02-05 06:39:38

    […] einen Artikel bei JAXenter (Java-Programmierung: Die 10 häufigsten Anfängerfehler) bin ich auf diesen Blog-Post gestoßen: Ask a Swiss: Beginners‘ 10 most common Java […]

  4. Dirk2016-02-10 10:49:12

    Dieser Artikel hat einfach nur meine Zeit gekostet. Muss echt nicht sein.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.