yawc-team team mailing list archive
-
yawc-team team
-
Mailing list archive
-
Message #00001
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.