Coding Guidelines für Webdevelopment
Für meinen Arbeitgeber backslash haben Mathias und ich die bestehenden Coding Guidelines zusammengefasst und zentral in einem Wiki abgelegt. Da die Informationen in den Richtlinien natürlich keine Geschäftsgeheimnisse offenbaren, haben wir uns entschlossen, diese Guidelines öffentlich zugänglich zu machen unter guidelines.backslash.ch – use it at your own risk! Hauptthemen sind HTML, XHTML, CSS, JavaScript, ColdFusion, SQL und XML.
Die Guidelines sind grundsätzlich als internes Arbeitsinstrument gedacht. Dabei sollen die Anweisungen immer auch mit ein gehörigen Portion Skepsis betrachtet werden und Anlass zu Diskussionen geben. Der gesunde Menschenverstand – GMV, wie mein ehemaliger Mathelehrer immer zu sagen pflegte – gehört auf jeden Fall zum Rüstzeug, auch für Webentwickler.
Warum aber machen wir diese hilfreiche Ressource anderen zugänglich? Weil wir einerseits zu unseren Grundsätzen und Arbeitsweisen stehen und Transparenz diesbezüglich nicht Schaden kann. Andererseits freut es uns, wenn wir anderen Webpublishern, Webdesignern und Applikationsentwicklern eine Hilfestellung sein können – Feedback ist jederzeit willkommen.
Neben dem Harmonisieren der Richtlinien hat uns noch ein zweiter Aspekt interessiert. Und zwar haben wir zum ersten Mal mit einem Wiki gearbeitet. Basis dafür lieferte das OpenSource ColdFusion-Tool CodexWiki, das von Luis Majano, dem Entwickler des ColdFusion-Framework ColdBox, und Mark Mandel, dem Entwickler des ORM-Frameworks Transfer, zur Verfügung gestellt worden ist.
Die Installation der Applikation gestaltet sich nicht kompliziert. Allerdings merkt man schon, dass sie sich in der Beta-Phase befindet. Noch sind nicht alle Teile umgesetzt und zum Teil funktioniert nicht alles wunschgemäss. Eine grosse Hilfe bei den kleinen Sorgen war stets die Google Group zu CodexWiki – kompetente Antwort liess meistens nicht lange auf sich warten. Ich vermute mal, Luis ist vom Schlag Chuck Norris und schläft nie.
Ein mehr oder minder grosses Ärgernis ist aus meiner Sicht die fehlende Integration von Internationalisierungsfunktionen (i18n) – aber dieses Thema wird leider bei den meisten kleineren OpenSource-Projekten stiefmütterlich behandelt. Auch das Tempo ist trotz railo-Power nicht gerade berauschend, das liegt aber sicher grösstenteils daran, dass die Applikation derzeit auf unserem virtualisierten Entwicklungsrechner lagert, der ziemlich mager ausgerüstet ist – 100% Verfügbarkeit kann also nicht garantiert werden.
TrackBacks
Trackback URL dieses Eintrages:
http://www.samelis.ch/blog/mischa/trackback.cfm?id=4AF67237-6403-4FB2-B638EC9B151F1912
Kommentare
Aus meiner Sicht ist es manchmal wichtiger, dass alle etwa nach dem gleichen Schema arbeiten, vor allem wenn mehrere Leute an den gleichen Projekten herumfuhrwerken, als dass die Richtlinien das Beste des Besten sind. Massentauglichkeit sowohl für Personal wie für Projekte steht da für mich eher an erster Stelle. Man will ja am Ende auch Geld verdienen und nicht in Schönheit sterben :-)
Aber die Diskussion ist offen. Reinhard, vielleicht hast Du einen Punkt als Beispiel, den Du anders machen würdest. Vielleicht bringt uns das ja weiter.
1. Den Filename sehe ich im Editor eh, weil ich sie ja gerade aufhabe
2. Den Autor finde ich interessant
3. Den Purpose einer Datei sollte man recht schnell erkennen können
zum einem am Inhalt und zum anderen am logen Dateinamen
4. Wenn kein SVN eingesetzt wird finde ich ein Modification Log, notwendig.
<+--- ----------------------------------------------------------------------------------
FileName : dsp_login.cfm
Author : reinhard jung
Purpose : Login-Formular
Modification Log:
Name Date Description
================================================================================
rjung 21.08.2009 Created
---------------------------------------------------------------------------------- --+>
just my too Rappe
<+--- -------------------------------------------------------------------------
Name Datum Beschreibung
==============================================
rjung 05.10.2010 Erstellt, zu LoginZwecken
-------------------------------------------------------------------------- --+>
<+--- TODO:reinhardjung/ 2010.04.05 18:05:47 PM *Meine Änderungen die nicht wichtig sind --+>
Für Eclipse habe ich ein Snippet, damit das auch scnell geht. Alles wird automatisch eingefügt und der Cursor bleibt beim Stern stehen (der natürlich normalerweise nicht erscheint). Dieses und andere Snippets kann man auf meinem Blogunter "Quickies" herunter laden.