Code-Analyse mal anders

Diese Wörter kommen in Java-Code am häufigsten vor

Melanie Feldmann

Quelle: https://anvaka.github.io/common-words

Bei einem abendlichen Meetup schon einmal die Diskussion gehabt, welches Wort in Java-Code wohl am häufigsten vorkommt? Diese Frage hat den Entwickler Andrei Kashcha wohl nicht mehr losgelassen. Er analysierte 2 TB an Daten aus rund 3 Millionen GitHub-Repositories, um sie zu beantworten.

Für Java sind die drei meist genutzten Wörter import, return und public. import wird vor allem im in import java.util.List; genutzt. Bei return ist es return false;. Und bei public zählt Kashcha am meisten public String toString() {. Seine Ergebnisse hat er auch in einer Visualisierung zusammengestellt. Mit ein paar Klicks lassen sich damit ein paar überraschende Einsichten in Programmiersprachen finden. Zum Beispiel, dass bei Go err sehr oft vorkommt. Wofür es natürlich einen Grund gibt.

Kashchas Daten stammen aus GitHub-Repositories aus der Zeit von Mitte bis Ende 2016.  Insgesamt waren es rund drei Millionen mit einer Gesamtmenge von 2 TB. Ein guter Teil des analysierten Codes waren Lizenzbestimmungen. In Java-Code fand er den meisten Text zu Lizenzen. 127 Wörter von 966 kamen aus Lizenzbestimmungen. Aufgrund der schieren Menge an Lizenztext entschloss sich Kashcha dazu diese Texte herauszufiltern.

Die individuellen Wörter suchte sich Kashcha aus den GitHub-Repos über BigQuerry heraus. Er extrahierte die Wörter zusammen mit den darauf folgenden zehn Zeilen Code. Um Code herauszufiltern, der nicht von Menschen geschrieben wurde, sortierte er Wörter heraus, die in Zeilen mit mehr als 120 Zeichen aufkamen. Er ignorierte Zeichen wie ,, ; und :, Operatoren wie +, - oder * und Zahlen. Außerdem sortierte er die Wörter nach Groß- und Kleinschreibung. Um das naive zählen ohne jeglichen Kontext zu vermeiden, zählte Kashcha nicht die einzelnen Wörter, sondern die Zeilen, in denen sie vorkommen. So erhielt er nicht nur das Wort an sich, sondern auch den Kontext, in dem es steht. Auf Reddit läuft eine Diskussion darüber wie plausibel die Daten sind und wie sich die Visualisierung noch verbessern ließe.

Geschrieben von
Melanie Feldmann
Melanie Feldmann
Melanie Feldmann ist seit 2015 Redakteurin beim Java Magazin und JAXenter. Sie hat Technikjournalismus an der Hochschule Bonn-Rhein-Sieg studiert. Ihre Themenschwerpunkte sind IoT und Industrie 4.0.
Kommentare

Schreibe einen Kommentar

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