Google BigQuery 18.10.2017, 09:41 Uhr

C#-Code-Analyse mit BigQuery

Auf GitHub lagern rund sechs Millionen C#-Codedateien. .NET-Entwickler Matt Warren hat sich die Mühe gemacht, den Code mit Hilfe von Googles BigQuery zu analysieren.
Google BigQuery ist eine Big-Data-Suchmaschine zum schnellen Durchsuchen riesiger Datenbestände. In gewissem Umfang kann man BigQuery sogar kostenlos nutzen. Da Google vor rund einem Jahr den kompletten auf GitHub archivierten Source Code in den von BigQuery urchsuchbaren Datenbestand aufgenommen hat, machte sich .NET-Entwickler jüngst daran, die darin enthaltenen C#-Dateien zu analysieren.

Er fand zunächst heraus, dass Google einen isolierten Datenbestand mit allen C#-Dateien angelegt hat: fh-bigquery:github_extracts.contents_net_cs. Das war die Voraussetzung dafür, die Analyse ohne Kosten durchführen zu können, da Google nach gelesenen Bytes abrechnet und sich auch das Freikoningent nach dieser Einheit bemisst. Der Datenbestand umfasst
  • 5.885.933 verschiedene .cs-Dateien,
  • 792.166.632 Zeilen C#-Code,
  • 37,17 GByte Daten.

Seine Untersuchungen versuchten die folgenden Fragen zu klären:
  • Benutzen C#-Entwickler lieber Tabs oder Leerzeichen?
  • Wie häufig wird das Schlüsselwort regions genutzt?
  • Wohin setzen C#-Entwickler die geschweiften Klammern, ans Ende der Zeile oder an den Anfang der nächsten Zeile?
  • Wie viele C#-Dateien nutzen funktionalen Code?
  • Welche NuGet-Pakete werden am häufigsten in .NET-Projekten verwendet?
  • Wie viele Lines of Code (LOC) hat eine typische C#-Datei?
  • Welche Exception wird am häufigsten geworfen?
  • Wie häufig wird async/await eingesetzt?
  • Mögen C#-Entwickler das Schlüsselwort var?
  • Welches ist das populärste Repository, das C#-Code enthält?
  • Wie viele Dateien sollte ein Repository enthalten?
  • Welche sind die populärsten C#-Klassennamen?
  • Wie lautet der am häufigsten genutzte Klassen-Name?
Die Antworten auf diese Fragen finden Sie in diesem Beitrag von Matt Warren. Der darin auch aufzeigt, wie er die Abfragen ausgeführt hat, so dass sie jeder auch selbst nachvollziehen kann.

Hier nur noch die erste der Antworten: C#-Entwickler nutzen ganz klar lieber Leerzeichen als Tabs. Eine Begründung dafür liefert Warren gleich mit: Visual Studio nutzt in der Standardeinstellung Leerzeichen. Den Vergleich mit allen anderen Programmiersprachen hat er jedoch nicht angestoßen. Dafür hätte BigQuery rund 14 Terabyte Code, gespeichert in rund einer Milliarde Dateien durchsuchen müssen. Das sprengt den kostenlosen Rahmen der BigQuery-Nutzung.


Das könnte Sie auch interessieren