Open cpdef opened 8 years ago
:+1:
Wie wäre es, wenn wir diese Regelung im Wiki vermerken?
Damit Verbesserungen im Master-Branch übernommen werde, müssen bestimmte Vorraussetzungen erfüllt sein.
Das mit der Mehrheit ist aber irgendwann nicht mehr umsetztbar, da es entweder zu viele Pull requests werden, wo jeder abstimmen muss, oder zu Viele Mitglieder, so dass immer viele abstimmen müssen.
Ich denke eine Regel mit einer bestimmten Anzahl Personen wäre geeignet. (z.B. 2 oder 4 müssen zustimmen)
Ich habe erst mal ein Artikel im generellen wiki erstellt.
Wie wärs mit 2 müssen mindestens zustimmen, Laufzeit 2-3 Tage, keine Widersrpüche.
also wenn jemand einen Widerspruch hat, müssen mehr Zustimmen oder wie?
Nein, dann wird der PR geblockt bis eine Lösung gefunden wurde und kein Widerspruch mehr herrscht.
Ok übernehme ich so erst mal, bis jemand Widersprüche hat :)
Ich bin der Meinung, dass mindestens einer aus dem QA-Team zustimmen sollte. Übrigens kann dieses Team gerne noch erweitert werden. Bis zu 5 Personen für QA fände ich schon ganz gut. Zumal sicherlich jeder woanders seinen Stärken und Schwächen hat.
Find ich gut! Mindestens 2 und mindestens 1x QA? Ich frage mal an ob ich in die QA Gruppe darf ;)
Die regeln stehen jetzt hier schon im wiki.
@seblin das hatten wir schon vorher besprochen :)
Können QAs denn auch welche werden, die sich noch nicht ganz so gut auskennen?
Denkbar wäre auch, die Rolle des QAs im Rotationsprinzip zu vergeben, sodass jeder mal sehen kann, wie es sich in dieser Rolle "anfühlt". Zum Beispiel immer 2 QAs, die monatlich wechseln. Oder erster und zweiter QA, wobei monatlich der erste QA seinen Dienst beendet, der zweite QA dann an die erste Stelle rückt und für den zweiten QA jemand neues nachrückt. Ich bin da offen für alles. Jeder sollte etwas von diesem Projekt für sich mitnehmen können und bei den besseren Programmierern sollten hier keine falschen Eitelkeiten entstehen.
Ist der QA Plan so gut? Eigentlich können wir dann doch auch das Team entfernen oder?
Brauchen wir überhaupt QA mit der "Kein Widerspruch" und mindestens 2 Votes Regel? QA-Rolle sollte ja nicht heißen, nur die Leute in QA machen QA.
ok nehme ich raus. (Du meinst sicher die letzte Zeile oder?)
Also es scheint so, als bräuchten wir keine Teams und keine Planung oder sonst was. Wir zögern nur das Projekt hinaus. Wie wäre es, wenn wir einfach anfangen zu coden und die Planung und sonstiges by the way machen?
@cpdef kennst du die Vorschau Funktion im Forum? Die gibt es hier auch. Dann kannst du die Änderungen, die du vornimmst vor dem Absenden überprüfen. Wenn du zufrieden bist schickst du die Änderung raus. Das macht es leichter Veränderungen rückgängig zu machen und unsere Pinnwände bleiben übersichtlich.
Werde ich in Zukunft beachten (wo habe ich da was falsch gemacht? url?). Das ohne Teams denke ich ist ok, falls es später Probleme gibt, können wir uns ja auch nochmal um entscheiden.
Am besten stimmen wir kurz mit :+1: ab ob wir die Teams löschen. Ich kann das wahrschenlich aber nicht mehr machen, da ich Morgen nur kurz und danach gar nicht mehr online bin.
Also :+1: = Teams werden gelöscht, :-1: eben nicht.
Ich habe die Nachricht auch mal in #3 gesendet, weil sie da eigentlich hingehört. Am besten machen wir da auch die Abstimmung.
Ad 1. Das keiner einen Einwand hat reicht nicht, weil dann Sachen durchrutschen können die sich keiner angeschaut hat. Denn das kann kein Einwand ja auch bedeuten, das keiner Zeit oder Lust hatte sich das anzuschauen und es dann effektiv kein Review gibt.
QP sind keine besonderen Leute. Du bist ja auch dafür das diese Rolle rotiert, also werden das auch mal Anfänger. Ich denke da sollte die Stimme von der QP-Rolle nicht mehr Gewicht haben als andere.
Ich finde auch, dass mindestens 2 Leute einer Änderung zustimmen sollten. Gerade für Anfänger und Fortgeschrittene ist das doch interessant, weil sie diesen Code testen und verstehen müssen. Dabei kommen Fragen auf und man tauscht sich aus. Aus soetwas entsteht dann viel besserer Code. Zumindest ist die Theorie so.
Ich bin nicht vertraut mit dem ganzen. Ich habe mir gedacht, der QP wirft irgend ein Script an , das die komplette Programm mehr oder weniger testet, oder wenn solche Tests schon durchgeführt werden, überprüft er, ob sie erfolgreich waren. Möglicherweise überpürft er mit einer Liste noch einige andere Dinge. Und wenn das alles ok ist merged er das. Offensichtlich ist das ja nicht so. Was erwartet man, dass er tut und wa erwartet man bon denen, die zugestimmt haben, dass sie getan haben?
Tests werden generell immer von einem selber ausgeführt bevor man auf den Remote/Master pusht bzw. von Jenkins, Sonar etc.
Die Reviewer (die dem PR zustimmen), gehen Zeile für Zeile den Code durch und schauen ob man etwas evt. schöner machen kann oder ob es logische Fehler gibt und ganz allgemein ob das überhaupt Sinn macht was dort geändert/eingeführt wird.
Code-Review ist etwas sehr wichtig und hilfreich aber halt auch sehr aufwendig.
Der Entwickler führt einen Test seines Moduls durch. Er führt auch einen Integrationstest aus bzw einen Systemtest?
Je mehr desto besser, im besten Fall läuft irgendwo sowieso ein Jenkins
Die Tests müssen natürlich mitgepflegt werden und auch im github zur Verfügung stehen. Ist das richtig?
Ja. Wenn mans richtig machen will Test Driven Development, d.h. Tests vor Implementierung.
Das heißt aber, wenn jemand (möglicherweise nicht aus dem inneren Kern der Programmiergruppe), der ein paar Bugs im Code behebt, auch alle Tests durchführen muss. Der könnte aber Jenkins oder Sonar gar nicht installiert haben, ist das nicht eine ziemliche Hürde? Jenkins/Sonar läuft auf mehreren Servern, wobei es eine Master-Instanz gibt die Builds/Tests koordiniert.
Kennst du dich mit Jenkin bzw. Sonar aus? Das schaut schon etwas komplex aus, Wollen/können wir das wirklich verwenden? Vielleicht kann man nur Pylint verwenden. Es Schaut aus als ob Sonar daruaf aufbaut.
Jenkins/SonarQube sind externe Programme, haben mit dem Projekt selbst nicht viel zu tun, so eine Instanz aufzusetzen ist jetzt nicht so wild, hätte eventuell eine Instanz die man mitbenutzen konnte.
Code-Review schaut etwas aufwendig auf. Und es sind nur 3 Tage Zeit. Im Allgemeinen ist auch der Entwickler dran beteiligt. Ich Allerdings könnte man versuchen, Code auf Stackexchange zu reviewen lassen. Das ist aber auf English. Was soll der QP eigentlich tun, wenn keine Zustimmung kommt. Er hat dann zwei Stimmen und kann also sein OK geben, wenn ich das richtig verstanden habe. Aber heisst das, er soll das auch selbst reviewen?
Warum 3 Tage (hab ich da was überlesen?)? 3 Tage ist tatsächlich wenig. StackExchange external Review, ich wusste nicht dass die da sowas machen, denke aber nicht, dass das eine gute Lösung ist. QA muss natürlich selber reviewen bevor er voted, mMn macht auch eine Rotation der Rolle nicht viel Sinn, entweder man packt Experten in die QA und gibt denen 2 Stimmen oder man lässt die QA Gruppe gleich ganz.
Was die 3 Tage angeht: Wenn das zu wenig ist, stelle ich mir die Frage wie gross Ihr so einen Pull Request werden lassen wollt? Wenn das ein grosses Feature ist, dann braucht man vielleicht mehr Zeit, aber so wirklich gross sollte man Änderungen nicht werden lassen IMHO. Gerade bei dem Projekt hier, wo die Richtung nicht so ganz klar ist, und doch einige Anfänger dabei sind, wäre es blöd wenn jemand viel Arbeit in etwas steckt was den anderen dann in eine falsche Richtung abdriftet.
Und auch große Features sollte man möglichst in mehrere Commits splitten. Wenn die Implementierung eines neuen Features z.B. Änderungen an der bisherigen API voraussetzt, ist es manchmal sinnvoller, zuerst die API-Änderungen zu committen und ausgiebig zu testen und erst danach den Commit des neues Features einzubringen. Kommt natürlich immer auf den Einzelfall an.
Ich denke wir sollten jetzt mal festlegen, wie wir darüber entscheiden, welcher Pull request übernommen wird:
marrin schrieb:
Ich hätte so folgende Idee:
Das sind jetzt auch nur Vorschläge, also die Zahlen können durchaus noch geändert werden.
Das könnten wir dann auch so für andere Entscheidungen übernehmen, wie neue Teams etc. .
Die Zustimmung könnte man zum Beispiel durch dieses +1 Zeichen zum Ausdruck bringen. (Ich meinte zu einem Pull request und eigentlich nicht diesem Issue :) )