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.

Verwandte Blog-Einträge

Kommentare

Reinhard Jung's Gravatar
Das eine oder andere in Deinen GuideLines würde ich zwar anders machen, aber das es sie überhaupt gibt, respektive von euch auch noch veröffentlicht wurden, finde ich mega!
# Erfasst von Reinhard Jung | 28.08.09 23:46
Mischa's Gravatar
Das eine oder andere kann man durchaus auch anders machen. Und es soll auch diskutiert werden. Die Punkte dürfen sich auch ändern - aufgrund von Diskussionen.

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 :-)
# Erfasst von Mischa | 29.08.09 08:06
Mischa's Gravatar
Kommt noch hinzu, dass wir Lehrlinge ausbilden, und dies auch eine Art Dokumentation für sie ist. Es ist auch hilfreich, wenn man nicht alle 10mal erklären muss, sondern auf die Guidelines verweisen kann und diese quasi als Nachschlagewerk anbietet zum Selbststudium. Und grundsätzlich stehen ja auch keine Geheimnisse drin. Deshalb haben wir uns entschlossen, sie auch zu veröffentlichen. Wenn sie dem einen oder der anderen nützlich sind, umso besser, wenn nicht, dann bleibt's beim Selbstzweck.

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.
# Erfasst von Mischa | 29.08.09 08:29
Reinhard Jung's Gravatar
Als Deutscher sollte man sich zwar mit kritschen Äusserungen - jeglicher Art - zurückhalten (ausser Andeutungen), aber da meine Osterhasen gerade familiär unterwegs sind, hier mal eine Kleinigkeit: Oft wird in den ersten Zeilen einer Datei einiges festgehalten, was ich zwar auch mal eine Zeit lang wichtig fand und es viele Firmen gibt die das auch immer noch sehr wichtig finden, ich aber um gestiegen bin, weil:
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
# Erfasst von Reinhard Jung | 05.04.10 17:56
Reinhard Jung's Gravatar
So evtl. und dann die Beschreibungen auf deutsch? Switzerdütsch wäre mir persönlich zwar lieber, aber man kann ja nicht alles haben :-)

<+--- -------------------------------------------------------------------------
Name Datum Beschreibung
==============================================
rjung 05.10.2010 Erstellt, zu LoginZwecken
-------------------------------------------------------------------------- --+>
# Erfasst von Reinhard Jung | 05.04.10 18:04
Reinhard Jung's Gravatar
Wichtig finde ich auch Dokumentationen im Quelltext. Mein Vorschlag wäre:
<+--- 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.
# Erfasst von Reinhard Jung | 05.04.10 18:09
Leave this field empty
Ihren Kommentar hinzufügen

Falls Sie abonnieren, werden alle neuen Kommentare zu diesem Thema an Ihre E-Mail-Adresse gesandt.

TrackBacks

Es gibt keine Trackbacks für diesen Eintrag.

Trackback URL dieses Eintrages:
http://www.samelis.ch/blog/mischa/trackback.cfm?id=4AF67237-6403-4FB2-B638EC9B151F1912