Pull Requests – Fluch und Segen

Die Zusammenarbeit bei OpenSource-Projekten auf GitHub oder GitLab ist großartig. Ich freue mich immer wie ein Schneekönig, wenn jemand eine Erweiterung für eines unserer OpenSource-Projekte macht und über einen Pull Request zum Mergen übergibt.

TOXID ist so über die Jahre gewachsen, dass es inziwschen in großen Enterprise-Projekten zum Einsatz kommt, das cleartmp-Modul aus dem Kochbuch ist erweitert worden und kommt viel zum Einsatz und für viele andere Module bekommen wir Feedback.

Was jedoch –  und damit zum “Aber” – das mergen, also das Zusammenführend des Codes unglaublich schwer macht, ist das automatische Ändern von Code-Style durch die Entwicklungsumgebungen.

Was passiert, ist, dass große Codeblöcke und teilweise ganze Dateien als geändert markiert werden, weil die IDE Methoden umsortiert, andere Einrückungn hat, etc.

Man sitzt also vor einem riesigen Block Änderungen und muss sehr mühsam suchen, was denn nun wirklich geändert wurde. Das kostet Zeit, Nerven und ist nicht mal so eben nebenher zu machen.

Wie sieht ein guter Pull Request aus?

  1. Es werden neue Funktionen hinzugefügt
  2. Sind Code-Style-Änderungen unbedingt nötig, werden die in einem separaten Commit gemacht, der entsprechend markiert ist.
  3. Umsortieren kompletter Methoden findet nicht statt.
  4. Code-Style-Änderungen gehen immer in Richtung des betroffenen Projekts.

Inzwischen gibt es ja einen de Facto Standard für Codestyle, den alle großen Projekte die wir einsetzen verfolgen: PSR-2

Wir werden daher alle Module auf PSR-2 wechseln. Doch seht es uns nach, wenn das nicht immer klappt, weil wir unseren alten Style noch gewöhnt sind.

Um Energie zu sparen, werden wir bei folgenden Änderungen nur sehr selten mergen:

  • Pull Requests die NUR Codestyle ändern. Das ist kein Update bei allen Usern wert!
  • Pull Requests, die Funktions-Änderung und Code-Style-Änderungen an bestehendem in einem Commit enthalten.

Pull Requests, die Codestyleänderungen an bestehendem Code enthalten die nicht PSR-2 sind.

Ich freue mich, auf die nächsten gemeinsamen Projekte und gerne eine anregende Diskussion!



0 Kommentare

Dein Kommentar

An Diskussion beteiligen?
Hinterlasse uns Deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.