← Back to team overview

yawc-team team mailing list archive

Weiteres Vorgehen

 

Hallo,

und gleich noch eine Mail. Damit wir möglichst bald, möglichst produktiv 
werden können müssen wir ein paar Dinge absprechen. 

a) Auf welcher Basis wir Cognac nun bauen und

b) Welche Vorgehensweisen/Richtlinien wir für die Entwicklung festlegen

Zu a)
Dank des uu.de Themas über Pythonframeworks bin ich noch auf Glashammer und 
Pylons aufmerksam geworden, die wir beide in die nähere Betrachung nehmen 
sollten. Damit kommen für mich Django, WSGI mit Werkzeug, Glashammer und 
Pylons in Frage.
Ehrlich gesagt reizen mich alle drei. Kurz meine Sicht auf die Dinge:

Django: 
Pro: Sehr gute Dokumentation, weiter Einsatz, auch viel deutscher Support
Contra: Bei einigen Leuten eventuell zu Recht in Kritik geraten. Für mich 
nicht absehbar, ob es uns genug Freiheiten lässt.

Werkzeug:
Pro: Schränkt uns nicht ein, deutsche Gemeinschaft, gut dokumentiert.
Contra: Minimalistischer Ansatz, steile Lernkurve, ein paar Räder die wir neu 
erfinden müssen.

Glashammer: 
Pro: Wie bei Werkzeug, aber größerer Umfang.
Contra: Junges Projekt, Qualität kann ich nicht schätzen, API Stabilität 
eventuell nicht gegeben.

Pylons: Weiß ich gerade nicht, was ich davon halten soll. Komponenten scheinen 
gut ausgewählt zu sein. Bekam das ein oder andere Prominente Lob.

Meine persönliche Favorisierung wäre im Augenblick folgende Reihenfolge:

Glashammer, Pylons, Django, Werkzeug. 

Ich bitte jeden um eine Aussage, was er nehmen möchte. Habe ehrlich gesagt 
kein Lust, das allzu lange zu diskutieren. Da ich aber die nächsten Wochen 
noch kaum Luft haben werde, um mit dem hacken anzufangen, können wir das 
trotzdem gerne machen. 

Zu b)
Was wir brauchen sind definitv Stil-, Dokumentations- und Coderichtlinien. Die 
müssen nicht umfangreich, aber auf jeden Fall vorhanden sein. Ich mach mich 
mal schlau, welche Werkzeuge (doctools, sphinx) da angebracht sind.

Fragen die da meiner Meinung nach wichtig sind, sind u.a.:
Welchen Styleguide nutzen wir? PEP8? Eventuell eigene Ergänzungen?
Kommentare in Deutsch oder Englisch?
Welche Werkzeuge zur automatischen Dokumentationsgenerierung? 
Kommentare in reST? 
Testgetriebene Entwicklung?
Welche Qualitätsmerkmale muss ein Code erfüllen, bevor er in den Hauptzweig 
darf?
Wo findet die Entwicklung statt? Wieviele Branches und was für welche haben 
wir? Wie organisieren wir den Code?
Welche Versionsverwaltung? 
Womit schreiben wir unsere Tests?

Meine Antworten sind folgende:
Styleguide: PEP8
Werkzeuge zur Dokugenerierung: Muss ich mir noch angucken, Sphinx und docutils 
fallen mir da ein
Kommentare in reST: Längere auf jeden Fall
Testgetriebene Entwicklung: Wenn alle mitziehen, ja
Welche Qualitätsmerkmale:
* Styleguide eingehalten
* Tests vorhanden + Testsuite bestanden
* Dokumentationsrichtlinien eingehalten
Wie findet Entwicklung statt:
Jeder arbeitet in beliebig vielen eigenen Branches (dafür gibts ja DVCS), in 
den Mainbranch kommt nur, was im Bezug auf Schnittstellen/Herangehensweise 
grob abgesprochen ist. Bzw. man checkt ein, meldet das auf der Liste und wenn 
kein veto kommt, bleibts drin. Ansonsten mal gucken wie es sich entwickelt. 
Später vielleicht ein System wie die PEPs über die Launchpad Blueprints 
entwickeln (Zukunftsmusik!?)
Welche Versionsverwaltung: bzr wegen Launchpad
Womit schreiben wir unsere Tests: 
Für die Qualitätsstandards/Testgetriebene Entwicklung sollten unittests 
maßgebend sein. Ich halte doctests aber für sinnvoll um zu prüfen, ob die 
Dokumentation aktuell ist und weil Beispiele in der Doku nützlich sind. 

Viel Text. 

Grüße

Panke

P.S.: Was wir nicht vergessen dürfen, ist die Pythonversion abzusprechen. Bin 
persönlich für die neuste, die unser Rahmenwerk (Django, Werkzeug etc.) 
unterstützt.