Richtig gerüstet
Das richtige Handwerkszeug für Programmierprojekte
Zum Programmieren braucht es nicht viel: Ein Editor reicht aus, und schon geht es los. Hat das Programm aber eine bestimmte Größe erreicht oder entwickeln plötzlich drei Leute an der Software, gerät die Arbeit zunehmend komplexer. Hier helfen zahlreiche Tools bei Koordination und Kommunikation. Aber auch in einem Ein-Mann-Projekt brauchen Sie nicht auf nützliche Hilfsmittel zu verzichten: Ein Linux-System bietet Werkzeuge für alle Fälle.
Ausgezeichnet
Viele Editoren unter Linux verfügen über ein Feature, das sich Syntax Highlighting nennt: Über eine Steuerdatei erkennt das Programm die Struktur von vielen Skript- und Programmiersprachen, aber auch von HTML, CSS oder XML-Formaten, und färbt in diesen bestimmte Bestandteile ein. Damit gewinnen Sie auf einen Schlag mehr Übersicht. Falls möglich, empfiehlt es sich auch, das Nummerieren der Zeilen einzuschalten. Das geschieht dabei nur in der Darstellung, der Programmcode enthält die Ziffern nicht. So haben Sie beim Gespräch über den Sourcecode schnell die entsprechende Zeilennummer zur Hand.
Sowohl Gnomes Standard Gedit [1], als auch dessen KDE-Pendant Kwrite [2] verfügen bereits über eine Reihe von Features, die beim Schreiben einfacher Skripte und Programme helfen (Abbildung 1). Diese fallen allerdings sehr rudimentär aus. Im Falle von Gedit rüsten Sie bei Bedarf zusätzliche Plugins nach, um neue Features zu nutzen.
Kwrite bietet die Möglichkeit, über ein Komponentensystem ein Editormodul für den Einsatz innerhalb der Applikation zu wählen. Es bietet sich an, hier KatePart zu wählen, das zum KDE-Editor Kate gehört [3]. Er verfügt über umfangreiche Funktionen, die Sie beim Programmieren unterstützen.
Etwa auf der gleichen Flughöhe arbeitet das Gtk-Programm Geany [4]. Es verbindet die Funktionen eines Editors mit den grundlegenden Features ein echten Entwicklungsumgebung. So beherrscht das Programm beispielsweise Code Folding, also das Einklappen von Textteilen, die Funktionen oder andere gekapselte Sprachelemente enthalten. Außerdem unterstützt das Syntax Highlighting zahlreiche Sprachen, über eine Snippet-Verwaltung fügen Sie häufig benutzte Codeteile ein und die Vervollständigen-Funktion schließt zum Beispiel XML- oder HTML-Tags.
Etwas außerhalb dieser Konkurrenz laufen die Editoren Emacs [5] und Vim [6]. Sie arbeiten als Konsolenprogramme und bieten daher nicht auf Anhieb den gleichen Komfort, den manch einer von grafischen Oberflächen gewohnt ist. Allerdings verfügen beide über zahlreiche Features, die das Schreiben von Programmcode vereinfachen.
Zudem weisen sowohl Emacs als auch Vim eine Plugin-Schnittstelle auf, die es erlaubt, neue Funktionen hinzuzufügen. Die umfangreiche Dokumentation auf der Homepage des jeweiligen Projektes liefert eine Menge Hinweise zum individuellen Konfigurieren der beiden Urgesteine unter den Editoren.
Noch eine Nummer größer fallen integrierte Entwicklungsumgebungen aus, die sogenannten IDEs. Zu den Platzhirschen unter Linux gehören Kdevelop [7] aus dem KDE-Projekt sowie Anjuta [8], das in Gnome-Umgebungen zum Einsatz kommt. Darüber hinaus steht unter Linux mit Eclipse [9] ein Development-Framework bereit, mit dem Sie die für Ihr Projekt wichtigen Bestandteile einer Entwicklungsumgebung individuell zusammenstellen.
Dokumentation
Zu einem guten Programm gehört auch eine vernünftige Dokumentation, denn sie hilft dem Leser die Funktionen richtig zu verstehen und einzusetzen. Wer sich noch nicht an das in Open-Source-Projekten traditionell sehr verbreitete Docbook-Format [10] herantraut, dem bietet sich als Alternative zum Beispiel Restructured Text aus dem Python-basierten Docutils-Projekt [11] an.
Hier schreiben Sie mit einer Wiki-ähnlichen Syntax alle wichtigen Informationen in ein einfaches Textdokument. Als Exportformate unterstützt der Parser derzeit XHTML, XML oder LaTeX, wobei letzteres zum Beispiel sehr leicht das Umwandeln nach PDF erlaubt. Scheuen Sie sich nicht davor, einige Zeit auf das Schreiben der Dokumentation zu verwenden: Anwender, die nicht verstehen, wie eine Software funktioniert, schauen sich schnell nach einer Alternative um.



