Lab 27: Zusammenarbeit und Code Review¶
In dieser Übung arbeitest du mit einem anderen Teilnehmer zusammen. Ihr reviewt gegenseitig eure Pull Requests und lernt dabei den Code-Review-Prozess auf GitHub kennen.
Vorbereitung¶
Du arbeitest zu zweit. Dein Trainer teilt euch in Paare ein.
Notiere dir den Repository-Namen deines Partners:
it-erben/bc-dev-training-<partner-username>
Stelle sicher, dass du auf main bist:
git switch main
git pull
Phase 1: Feature entwickeln¶
- Erstelle einen Feature-Branch:
git switch -c feature/completed-date
- Füge der Tabelle ein neues Feld hinzu. Öffne
app/TrainingItem.Table.alund füge nach dem letzten Feld ein:
field(5; "Completed Date"; Date)
{
Caption = 'Erledigungsdatum';
}
- Füge das Feld auch in
app/TrainingItems.Page.alim Repeater hinzu:
field("Completed Date"; Rec."Completed Date")
{
ApplicationArea = All;
}
- Committe und pushe:
git add app/TrainingItem.Table.al app/TrainingItems.Page.al
git commit -m "feat: add completed date field"
git push -u origin feature/completed-date
-
Erstelle einen Pull Request auf GitHub mit einer aussagekräftigen Beschreibung. Erkläre warum du die Änderung machst, nicht nur was du geändert hast.
-
Füge deinen Partner als Reviewer hinzu (rechte Seite im PR unter "Reviewers").
Während du wartest: Branch Protection und CODEOWNERS¶
Die Pipeline läuft. Nutze die Wartezeit, um zwei Features einzurichten, die in echten Teams unverzichtbar sind.
Branch Protection Rules¶
Branch Protection verhindert, dass Code ohne Review oder mit
fehlgeschlagener Pipeline in main landet.
-
Gehe zu Settings → Branches → Add branch ruleset.
-
Erstelle eine Regel:
- Ruleset Name:
main-protection - Target branches: Add target → Include by pattern →
main -
Branch protections — aktiviere:
- Require a pull request before merging — niemand kann
direkt auf
mainpushen - Required approvals:
1— mindestens ein Reviewer muss zustimmen - Require status checks to pass — die Pipeline muss grün sein
- Require a pull request before merging — niemand kann
direkt auf
-
Klicke "Create". Ab jetzt erzwingt GitHub diesen Workflow.
Hinweis: Da du alleine an deinem Repo arbeitest, kannst du die Regel nach dem Lab wieder deaktivieren. In echten Teams ist das Standard.
CODEOWNERS¶
Die Datei CODEOWNERS legt fest, wer automatisch als Reviewer
hinzugefügt wird, wenn bestimmte Dateien geändert werden.
-
Öffne die Datei
CODEOWNERSin deinem Repository (sie existiert bereits im Root-Verzeichnis). -
Die Syntax ist einfach:
# Alles im app-Ordner gehört dir
/app/ @dein-github-username
# Workflow-Dateien gehören dem ganzen Team
/.github/ @it-erben/bc-dev-training
- Wenn du die Regel speicherst und jemand eine Datei in
/app/ändert, wirst du automatisch als Reviewer vorgeschlagen.
GitHub Notifications anpassen¶
Damit du nicht in Benachrichtigungen untergehst:
-
Klicke auf dein Profilbild → Settings → Notifications.
-
Nützliche Einstellungen:
- Participating: Benachrichtigungen nur für Threads, in denen du erwähnt wirst oder die du abonniert hast
- Watching: Für Repos, die du aktiv beobachtest
-
Email vs. Web: Wähle, ob du E-Mails bekommst oder nur die GitHub-Inbox nutzt
-
Probiere die GitHub Inbox aus: Klicke auf das Glocken-Symbol oben rechts. Hier kannst du Benachrichtigungen als gelesen markieren, speichern oder filtern.
Phase 2: Code Review durchführen¶
Jetzt wechselst du die Rolle: Du reviewst den PR deines Partners.
-
Öffne das Repository deines Partners auf GitHub und gehe zu Pull Requests. Du siehst den PR deines Partners.
-
Klicke auf den PR und dann auf Files changed. Hier siehst du alle Änderungen als Diff.
-
Führe ein Review durch:
- Klicke auf eine Zeile, um einen Kommentar hinzuzufügen
- Stelle eine Frage oder mache einen Verbesserungsvorschlag
-
Nutze die "Suggest changes"-Funktion (klicke auf das Vorschlags-Symbol im Kommentar-Editor), um eine konkrete Code-Änderung vorzuschlagen
-
Schliesse das Review ab: Klicke oben rechts auf "Review changes" und wähle:
- Comment: Allgemeine Anmerkungen
- Approve: Alles gut, kann gemergt werden
- Request changes: Änderungen nötig vor dem Merge
Phase 3: Feedback einarbeiten¶
-
Zurück in deinem eigenen PR: Lies die Review-Kommentare deines Partners.
-
Wenn dein Partner eine Suggestion gemacht hat, kannst du sie direkt auf GitHub übernehmen:
- Klicke "Commit suggestion"
- Oder arbeite die Änderung lokal ein:
# Änderung lokal machen git add app/TrainingItem.Table.al git commit -m "fix: apply review feedback" git push -
Die Pipeline läuft erneut. Der PR aktualisiert sich automatisch mit dem neuen Commit.
Phase 4: Merge¶
-
Sobald dein Partner Approve gibt und die Pipeline grün ist:
- Klicke "Merge pull request" → "Confirm merge"
- Beobachte die Deploy-Pipeline unter Actions
-
Räume lokal auf:
git switch main git pull git branch -d feature/completed-date -
Prüfe mit dem Trainer in der BC-Sandbox, ob das neue Feld sichtbar ist.