Dienstag, 7. September 2010 |
| |
Vor zwei Wochen konnte das Eclipse-Checkstyle-Plug-in den ersten Preis des Eclipse Community Award in der Kategorie "Bestes Eclipse-basiertes Entwicklungs-Tool aus dem Open-Source-Bereich" gewinnen. Das Projekt wird von Lars Ködderitzsch geleitet. Mit ihm führten wir ein Interview über das Projekt selbst und was die Auszeichnung für das Projekt bedeutet.
Lars, stell dich doch bitte kurz unseren Lesern vor?
Lars Ködderitzsch: Ich bin 30 Jahre alt, verheiratet und Vater einer neun Monate alten Tochter. Ich bin seit 1999 in der Softwarentwicklung, davon bis 2005 als Softwarearchitekt und -entwickler in einem deutschen Großprojekt (fiscus). 2005 habe ich mich als IT-Freiberufler selbstständig gemacht und bin seitdem in diversen Projekten, hauptsächlich im Umfeld Java EE, Spring, Hibernate etc. tätig.
Das Eclipse-Checkstyle-Plug-in hat jetzt auf der EclipseCon 2007 den Preis als bestes Eclipse-basiertes Entwicklungs-Tool aus dem Open-Source-Bereich gewonnen. Was war deine erste Berührung mit Checkstyle?
Lars Ködderitzsch: Auf Checkstyle bin ich ca. 2003 gestoßen, als es darum ging, in unserem Entwicklerteam einen einheitlichen Coding-Standard zu etablieren. Da die damals verfügbare Vorgängerversion des heutigen Plug-ins noch etwas holprig war, hatte ich in der Freizeit ein anderes Checkstyle-Plug-in (kein Open Source) entwickelt, welches wir dann im Projekt einsetzten.
Um was handelt es sich denn dabei genau?
Ködderitzsch: Checkstyle ist ein Sourcecode Analyzer, der dazu dient, Java-Quelltexte gegen einen definierten Coding-Standard zu prüfen. Dabei geht es sowohl um Programmierkonventionen (Format, Namenskonventionen etc.) als auch um die Erkennnung von Fehlerquellen (z.B. wenn equals() implementiert wird, aber nicht hashCode()).
Checkstyle in seiner Urform ist ein Build-Tool, welches in Ant-/Maven-Skripten eingesetzt werden kann. Das Eclipse-Checkstyle-Plug-in integriert nun Checkstyle in die Eclipse IDE, und zwar in einer Art, die den Entwickler direkt und unmittelbar bei der Implementierung unterstützt und nicht erst in einem nachgelagerten Build hunderte Warnungen ausgibt. Dadurch eignet sich das Plug-in hervorragend, um in einem Entwicklerteam einen konsistenten Programmierstil einzuführen und beizubehalten.
Das Eclipse-Checkstyle-Plug-in wurde ursprünglich von David Schneider im Jahr 2002 entwickelt und 2003 auf SourceForge als Open Source verfügbar gemacht. Eclipse und die Eclipse Community steckten zu dieser Zeit quasi noch in den Kinderschuhen, das Plug-in dürfte zu den ersten frei verfügbaren Erweiterungen gehören. Ab 2004 fand Schneider durch die Geburt zweier Kindern immer weniger Zeit für das Projekt, sodass das Projekt in Gefahr geriet zu sterben.
Anfang 2005 habe ich ihn dann kontaktiert und ihm angeboten, das von mir entwickelte Plug-in mit dem Open-Source-Plug-in zu verschmelzen. Seit diesem Zeitpunkt bin ich quasi der Lead Developer des Eclipse-Checkstyle-Plug-ins und es hat seither große Fortschritte gegeben. 2006 sind noch zwei weitere Entwickler mit eingestiegen (Fabrice Bellingard, Levon Saldamli), welche die Statistikkomponente und die Initialversion der Quickfix-Unterstützung mit einbrachten.
Das Projekt ist ein 100-prozentiges Hobbyprojekt, welches von uns in der Freizeit betreut wird. Es steht kein Unternehmen dahinter und es gibt bislang auch kein Sponsoring (bis auf ein paar Freilizenzen von Tools, die wir bei der Plug-in-Entwicklung verwenden). Seit der Veröffentlichung auf SourceForge wurde das Plug-in (lt. deren Statistik) knapp 600.000 mal heruntergeladen, momentan liegen die täglichen Download-Raten bei 4.000 bis 5.000. Das Plug-in wird bei vielen Unternehmen in den Entwicklerteams eingesetzt , unter anderem z.B. bei Google, Oracle, IBM etc. Aber auch viele Open-Source-Projekte setzen es ein, da hier die Teams oft über mehrere Länder/Kontinente verteilt sind und sich nur so eine einheitliche formale Qualität des Quellcodes durchsetzen lässt.
Kam der Gewinn des Eclipse Community Award überraschend für euch?
Ködderitzsch: Der Gewinn kam total überraschend, da das Thema "Programmierstandards" an sich nicht so "sexy" ist, zumindest verglichen mit Sachen wie Ajax oder Subversion. Zudem war das Teilnehmerfeld in der Kategorie "Bestes Eclipse-basiertes Entwicklungs-Tool aus dem Open-Source-Bereich" mit 16 Teilnehmern in diesem Jahr sehr groß und hochkarätig besetzt, sodass wir uns eigentlich keine großen Chancen ausgerechnet haben. Offensichtlich haben wir aber mit dem Plug-in, unserer entwicklerzentrierten Herangehensweise und dem "ease of use" des Plug-ins einen Nerv bei der Jury getroffen.
Was bedeutet der Gewinn für euch?
Ködderitzsch: Der Preis ist natürlich der Ritterschlag für ein Eclipse-Plug-in und eine außergewöhnliche Anerkennung für das Projekt und die Leistungen, die damit verbunden sind. Es war einer Riesen-Ehre, zur EclipseCon eingeladen zu werden und den Award überreicht zu bekommen! Ansonsten werden wir auch nach dem Award so weitermachen wie vorher, d.h., Bugs beseitigen und Features einbauen, die für den Entwickler nützlich sind.
Unseren Lesern ist das Plug-in ein erstes Mal im Sommer 2005 im Eclipse Magazin vorgestellt worden. Was hat sich seitdem vor allem geändert?
Ködderitzsch: Entscheidend verbessert haben sich die Möglichkeiten der Projektkonfiguration im Team-Kontext, d.h., Projekte können nun so eingerichtet werden, das nach dem Abholen aus dem Repository (CVS etc.) keine weitere Konfiguration durch den Entwickler vorgenommen werden muss. Es besteht nun auch die Möglichkeit, die Checkstyle-Konfiguration auf einem Webserver zu veröffentlichen und in das Plug-in einzubinden, damit kann man insbesondere in großen Unternehmen einfach einen einheitliche Coding-Standard verbreiten und gegebenenfalls aktualisieren.
Als großes neues Feature wurde in den letzten Releases die Quickfixes (15 Stück) eingeführt, mit denen man einige häufig vorkommende Checkstyle-Warnungen nach der bekannten Eclipse-Manier beseitigen kann. Stark verbessert wurde auch die Erweiterbarkeit des Plug-ins mit eigenen Checkstyle-Prüfungen. Und natürlich gab es noch einen Haufen von Bugfixes und kleineren Features und Updates auf die jeweils neueste Checkstyle-Version.
Lars, ich bedanke mich für die Beantwortung der Fragen und wünsche dem Projekt auch weiterhin die ihm verdiente Aufmerksamkeit.
Die Fragen stellte Eclipse Magazin-Redakteur Alexander Neumann.