Ein Tag im Leben eines DevOps-Entwicklers: Anhalten der Arbeit, Beheben eines Fehlers und Durchführen eines Code Review

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Die Visual Studio-Features Meine Arbeit und Code Review unterstützen den Kontextwechsel von einem Arbeitsthread zu einem anderen. Außerdem können Teammitglieder leicht Nachrichten über vorgeschlagene Änderungen am Code austauschen. Dieser Artikel veranschaulicht diese Features und setzt das Tutorial aus Ein Tag im Leben eines Devops-Entwicklers: Schreiben von neuem Code für eine Benutzergeschichte fort.

Hinweis

Die Features Meine Arbeit und Code Review von Visual Studio sind mit den folgenden Editionen verfügbar:

  • Visual Studio 2022: Visual Studio Community, Visual Studio Professional und Visual Studio Enterprise
  • Visual Studio 2019: Visual Studio Community, Visual Studio Professional und Visual Studio Enterprise

In diesem Tutorial wird beschrieben, wie Sie die Arbeit an einer aktuellen Aufgabe anhalten können, um sofort einen Fehler zu beheben, der Teamkollegen in einem anderen Arbeitselement blockiert. Nachdem Sie den Fehler behoben haben, können Sie Kollegen bitten, den Fix zu überprüfen, und nach Abschluss der Überprüfung die Korrektur einchecken und die Arbeit an der ursprünglichen Aufgabe fortsetzen.

Unterbrechen der aktuellen Arbeit

Während Sie an einem Backlogelement arbeiten, erfahren Sie möglicherweise von einem Fehler in einem anderen Element, der Teamkollegen blockiert. Wenn es sich um einen Bereich handelt, mit dem Sie vertraut sind, können Sie eine Aufgabe erstellen, um den Fehler zu beheben, und sich die Aufgabe selbst zuzuweisen, um sofort daran zu arbeiten.

Bevor Sie beginnen, an dem neuen Fehler zu arbeiten, möchten Sie überprüfen, ob sich Ihre aktuelle Arbeit an einem sicheren Ort auf dem Server des Teams befindet. Wählen Sie in Visual Studio Team Explorer auf der Seite Meine Arbeit die Option Anhalten aus, um Folgendes auf dem Server zu speichern:

  • Die gesamte Arbeit, die Sie erledigt haben, einschließlich Änderungen am Code, an Tests und anderen Dateien.

  • Geöffnete Projektmappen, Fenster, Haltepunkte, Überwachungsfenstervariablen und andere Teile im Visual Studio-Zustand.

Wenn Ihr Arbeitsbereich bereinigt ist, ziehen Sie die neue Aufgabe aus Verfügbare Arbeitsaufgaben in In Bearbeitung befindliche Arbeit. Jetzt können Sie den Fehler untersuchen und eine Lösung schreiben.

Hinweis

Der Arbeitskontext ist mit Arbeitselementen verknüpft, die auf der Seite Meine Arbeit als In Bearbeitung angezeigt werden. Mit Anhalten und Fortsetzen können Sie schnell zwischen verschiedenen Aufgaben wechseln. Die geöffneten Projektmappen und Dateien, Codeänderungen und Visual Studio-Layouts werden zusammen umgeschaltet.

So unterbrechen Sie die aktuelle Arbeit und beginnen mit einer anderen Aufgabe

Wechseln Sie Ihren Arbeitskontext:

  1. Wenn noch keine Verbindung mit dem Teamprojekt besteht, in dem Sie arbeiten möchten, stellen Sie eine Verbindung mit dem Projekt her.

  2. Wählen Sie auf der Startseite von Team Explorer die Option Meine Arbeit aus.

  3. Wählen Sie auf der Seite Meine Arbeit im Abschnitt In Bearbeitung befindliche Arbeit die Option Anhalten aus.

  4. Geben Sie in das angezeigte Feld den Namen ein, den Sie diesem Satz angehaltene Aufgaben geben möchten, und wählen Sie anschließend die Schaltfläche Anhalten aus. Das Element wird unter Angehaltene Arbeit angezeigt.

    Screenshot zum Anhalten von Arbeit.

  5. Ziehen Sie ein Arbeitselement aus Verfügbare Arbeitselemente in In Bearbeitung befindliche Arbeit. Sie können auch zu einem Arbeitselement wechseln, das Sie zuvor angehalten haben, indem Sie es unter Angehaltene Arbeit ziehen.

    Wenn das Arbeitselement, das Sie selbst zuweisen möchten, nicht unter Verfügbare Arbeitselemente angezeigt wird, können Sie Folgendes tun:

    • Erstellen Sie eine neue Aufgabe oder ein anderes Arbeitselement, indem Sie Neu auswählen.
    • Wählen Sie eine andere Abfrage aus, indem Sie Abfrage öffnen auswählen.

Tipp

Die ausgeführten Elemente der In Bearbeitung befindlichen Arbeit werden mit den aktuellen Codeänderungen und dem Visual Studio-Zustand verknüpft. Damit Sie mit Visual Studio die Arbeit organisieren können, müssen Sie sicherstellen, dass es sich bei den entsprechenden Elementen um in Bearbeitung befindliche Arbeit handelt, wenn Sie von einer Aufgabe zu einer anderen wechseln.

Untersuchen des Fehlers

Öffnen Sie den neuen Fehler, und lesen Sie die Beschreibung. In diesem Beispiel gibt die Beschreibung, die von einem Mitglied des Testteams geschrieben wurde, an, dass eine bezahlte Rechnung manchmal fälschlicherweise als unbezahlt gekennzeichnet ist. Eine Laborumgebungsmomentaufnahme ist an das Arbeitselement zur Fehlerbehebung angefügt. Sie starten den virtuellen Computer, auf dem der Test ausgeführt wurde, erkennen die falsche Rechnung und verfolgen die Schritte im IntelliTrace-Protokolls zurück. Sie können den Fehler nach der folgenden Methode nachverfolgen:

public class LocalMath
{
    public static bool EqualTo(double a, double b)
    {
        return a == b;
    }

Im IntelliTrace-Protokoll erkennen Sie, dass die Methode "false" zurückgibt, da die Parameter sich in einem sehr geringen Betrag unterscheiden. Sie wissen, dass Rundungsfehler dieser Art in der Gleitkommaarithmetik unvermeidlich sind und dass es nicht üblich ist, Gleitkommazahlen auf Gleichheit zu testen.

Erweitern der Tests, um den Fehler anzuzeigen

Wenn ein Fehler gefunden wird, zeigt dies, dass eine Lücke in Komponententests vorliegt oder dass der Test nicht mit den tatsächlichen Anforderungen der Benutzer übereinstimmt. Daher fügen Sie vor der Behebung des Fehlers einen Test hinzu, mit dem angezeigt wird, dass dieser Fehler vorhanden ist:

// Added 2022-02-02 for bug 654321:
/// <summary>
/// Make sure that number equality test allows for 
/// small rounding errors.
/// </summary>
[TestMethod]
public void TestDoublesEqual()
{
    // Allow a rounding error of 1 in 1000000:
    TestEqual(1, 1e-7, true); // Less than allowed error
    TestEqual(1, 1e-5, false); // More than allowed error
    TestEqual(1000, 1e-7, true); // Less than allowed error
    TestEqual(1000, 1e-5, false); // More than allowed error
}
private void TestEqual(double value, double error, bool result)
{
    // Try different combinations of error and value:
    Assert.IsTrue(result == LocalMath.EqualTo(value + error, value));
    Assert.IsTrue(result == LocalMath.EqualTo(value, value + error));
    Assert.IsTrue(result == LocalMath.EqualTo(value - error, value));
    Assert.IsTrue(result == LocalMath.EqualTo(value, value - error));
}

Führen Sie den Test aus, und er schägt wie erwartet fehl.

Screenshot des Komponententest-Explorers mit fehlerhaftem Vergleichstest.

Erfolgreiche Ausführung des Tests

Korrigieren Sie den Code:

public static bool EqualTo(double a, double b)
{
    // Allow for rounding errors.
    // For example, a == 2.0 and b = 1.99999999999

    const double allowedError = 1/1000000;
    return System.Math.Abs(a - b) < allowedError;
}

Die Test wird nun erfolgreich ausgeführt.

Screenshot des Komponententest-Explorers mit bestandenem Vergleichstest.

Anfordern eines Code Reviews

Wenn Sie mit ihrer Fehlerbehebung für den Fehler zufrieden sind, checken Sie Ihre Arbeit noch nicht ein. Teams verwenden Code Reviews, um die Gesamtqualität des Codes zu erhöhen und das Risiko für die Erzeugung weiterer Fehler zu verringern. Verwenden Sie Team Explorer, um Codeüberprüfungen von Teamkollegen anzufordern.

So fordern Sie einen Codereview an

  1. Wählen Sie in Team Explorer auf der Seite Meine Arbeit unter In Bearbeitung befindliche Arbeit den Eintrag Review anfordern aus.

    Die Seite Neuer Code Review wird angezeigt.

    Screenshot der Seite „Code Review anfordern“.

    • Geben Sie im Feld Namen eines Prüfers eingeben einen oder mehrere Prüfer an, und drücken Sie nach jeder Auswahl die Eingabetaste.
    • Ändern Sie gegebenenfalls im nächsten Feld den Namen der Überprüfung.
    • Stellen Sie im nächsten Feld sicher, dass der richtige Bereichspfad angezeigt wird.
    • Geben Sie im nächsten Feld eine optionale Beschreibung ein.
  2. Wählen Sie Anforderung übertragen aus.

Die Reviewer werden per E-Mail über die Anforderung benachrichtigt.

Sie können auch ein Code Review für unterbrochene Arbeit, ein Shelveset oder ein Changeset anfordern. Um eine Liste von Changesets anzuzeigen, öffnen Sie Quellcodeverwaltungs-Explorer, und wählen Sie die Schaltfläche Verlauf aus.

Durchführen eines Code Reviews

Ein Reviewer kann die Code Review-Anforderung akzeptieren. Der Reviewer überprüft den Code, schreibt einige Kommentare auf den Datei- und Codeblockebenen und sendet dann den Code Review an Sie zurück. Ein angeforderter Reviewer , der zu beschäftigt ist, um den Code zu überprüfen, kann die Überprüfung ablehnen.

In den Kommentaren unterstreicht der Reviewer, dass der Test falsch ist. Der zulässige Fehler sollte ein angegebener Bruchteil der Eingabewerte und keine konstante Menge sein. Daher sollte der Test den Fehler mit dem Wert multiplizieren.

// We allow a rounding error of 1 in 1000000
// as a fraction of the value:
TestEqual(1, 1e-7, true); // Less than allowed error
TestEqual(1, 1e-5, false); // More than allowed error
TestEqual(1000, 1000*1e-7, true); // Less than allowed error
TestEqual(1000, 1000*1e-5, false); // More than allowed error

Tipp

Beachten Sie, dass die Teammitglieder die Tests als Diskussionsschwerpunkt verwenden. Wenn die Tests richtig und ausreichend sind, ist der Code auch richtig. Anders als der Code stellt jeder Test einen separaten Fall dar. Aus diesem Grund sind häufig die Tests einfacher zu besprechen als der Code.

Durchführen eines Code Reviews

  1. Klicken Sie auf der Seite Meine Arbeit in Team Explorer im Abschnitt Code Reviews mit der rechten Maustaste auf den Code Review, und wählen Sie Öffnen aus.

    Die Seite Code Review wird angezeigt.

    Screenshot der Seite „Code Review“.

  2. Auf der Seite Code Review haben Sie folgende Möglichkeiten:

    • Wählen Sie Reviewer hinzufügen aus, um der Code Review-Anforderung weitere Reviewer hinzuzufügen.

    • Wählen Sie die einzelnen Dateilinks aus, um die Änderungen an den Dateien anzuzeigen, die für dieses Arbeitselement aktualisiert wurden.

    • Verwenden Sie Kommentare, um die Änderungen mit dem Autor und anderen Reviewern zu erörtern.

      So fügen Sie Kommentare hinzu:

      • Wählen Sie Zusammenfassenden Kommentar hinzufügen aus, um der Überprüfung einen zusammenfassenden Kommentar hinzuzufügen.
      • Wählen Sie beim Anzeigen einer Datei eine Zeile oder einen Codeblock aus, klicken Sie mit der rechten Maustaste, und wählen Sie Kommentar hinzufügen aus.

      Jeweils nachdem Sie einen Kommentar hinzugefügt haben, wählen Sie Speichern aus, oder drücken Sie Strg+Eingabetaste.

  3. Wenn Sie mit der Eingabe von Kommentaren fertig sind, wählen Sie Kommentare senden aus, um Ihre Beiträge für den Autor und andere Reviewer sichtbar zu machen.

Reagieren auf den Code Review

Sie erhalten den Code Review von den Reviewern und antworten darauf. Sie und die Reviewer können Kommentare beliebig oft austauschen. Der Review endet, wenn Sie ihn schließen.

So reagieren Sie auf die Codeüberprüfung

  1. Navigieren Sie in Team Explorer auf der Seite Meine Arbeit zum Abschnitt Code Reviews, doppelklicken Sie auf die Anforderung, oder klicken Sie mit der rechten Maustaste auf die Anforderung, und wählen Sie Öffnen aus.

    Die Seite Code Review wird angezeigt.

    Screenshot der Reaktion auf einen Code Review.

  2. Lesen Sie im Abschnitt Kommentare die Kommentare, und antworten Sie bei Bedarf darauf. Um auf einen Kommentar zu antworten, wählen Sie Antworten aus, geben Sie den Kommentar in das angezeigte Feld ein, und wählen Sie dann OK aus.

  3. Um eine Datei anzuzeigen und die Codeblöcke mit Kommentaren anzuzeigen oder um eine Datei zu bearbeiten, wechseln Sie in den Unterabschnitt Dateien. Klicken Sie mit der rechten Maustaste auf die Datei, und wählen Sie Folgendes aus:

    • Vergleichen (schreibgeschützt) oder
    • Lokale Datei bearbeiten oder
    • Dateikommentar hinzufügen

    Sie können auch das Kontrollkästchen neben einem Kommentar aktivieren, um anzugeben, dass der Kommentar abgegeben wurde.

  4. Um Ihre Kommentare zu senden, wählen Sie Kommentare senden aus.

  5. Wenn Sie und die anderen Reviewer nicht mehr auf die jeweiligen Kommentare antworten und Sie den Review schließen möchten, klicken Sie auf Review schließen, und wählen Sie anschließend aus folgenden Möglichkeiten aus:

    • Abgeschlossen, um anzugeben, dass der Review abgeschlossen ist, oder
    • Vorzeitig beenden, um anzugeben, dass Sie den Review abbrechen.

Korrigieren des Tests und des Codes

Nachdem Sie die Review-Kommentare gelesen haben, können Sie den Komponententest wie vorgeschlagen korrigieren. Der Test schlägt jetzt fehl. Daran erkennen Sie, dass der Code noch nicht korrekt ist.

Korrigieren Sie den Code:

/// <summary>
/// Returns true if two numbers are equal.
/// </summary>
public static bool EqualTo(double a, double b)
{
    // Allow for rounding errors.
    const double allowedErrorMultiple = 1/1000000;
    double allowedError = (System.Math.Abs(a) + System.Math.Abs(b)) * allowedErrorMultiple/2;
    return System.Math.Abs(a - b) < allowedError;
}

Der Test wird erneut erfolgreich ausgeführt.

Tipp

Um einen Fehler zu beheben, führen Sie die gleichen Verfahren wie in der Codeentwicklung durch. Schreiben Sie einen Test, der fehlschlägt, und sorgen Sie anschließend dafür, dass der Test erfolgreich ausgeführt wird. Checken Sie den Code und die Tests nur ein, wenn die Tests bestanden werden.

Wenden Sie jetzt Ihre Aufmerksamkeit dem Testfall zu, in dem der Fehler gefunden wurde. Die Schritte zur Reproduktion des Fehlers sind eindeutig in dem Arbeitselement beschrieben. Sie folgen den Schritten und erkennen, dass die Rechnungen ordnungsgemäß aufgelistet werden.

Einchecken der Lösung

Sie checken den Code mit dem behobenen Fehler und die Komponententests ein. Der Zustand des Fehlers wird automatisch auf Behoben festgelegt, und der Wert Zugewiesen zu wird automatisch dem Mitglied des Testteams neu zugewiesen, das den Fehler ermittelt hat. Dieses Teammitglied überprüft, ob der Fehler korrigiert wurde, und schließt das Arbeitselement.

So checken Sie die Lösung ein

  1. Wählen Sie in Team Explorer auf der Seite Meine Arbeit die Option Check In aus, um die Seite Ausstehende Änderungen zu öffnen.

    Update des Eincheckens eines Updates zum Beheben eines Fehlers.

  2. Vergewissern Sie sich auf der Seite Ausstehende Änderungen, dass Folgendes zutrifft:

    • Alle relevanten Änderungen werden unter Eingeschlossene Änderungen aufgeführt.

    • Alle relevanten Arbeitselemente werden unter Verknüpfte Arbeitselemente aufgeführt.

  3. Geben Sie einen Kommentar ein. So vermitteln Sie den Teammitgliedern den Zweck der vorgenommenen Änderungen, wenn sie sich den Versionskontrollverlauf der geänderten Dateien und Ordner ansehen.

  4. Wählen Sie Einchecken aus.

Fortsetzen der Arbeit an einer Aufgabe

Setzen Sie die Arbeit an Ihrer ursprünglichen Aufgabe fort. Sie können schnell weiterarbeiten, da alle Codeänderungen zusammen mit den wichtigen Zustandsbits, wie geöffneten Fenstern, Haltepunkten und Überwachungsfenstervariablen in Ihrem Arbeitsbereich wiederhergestellt werden.

So setzen Sie die Arbeit an einer Aufgabe fort

  • Wählen Sie in Team Explorer auf der Seite Meine Arbeit unter Angehaltene Arbeit Ihr ursprüngliches Arbeitselement und anschließend Fortsetzen aus.

    Screenshot des Fortsetzens einer Aufgabe.

    Sie können auch, wenn Sie die angehaltene Arbeit im Arbeitsbereich mit ausstehenden Änderungen zusammenführen möchten, Mergen mit „In Bearbeitung“ auswählen.

Wenn Sie die Arbeit fortsetzen, stellt Visual Studio Folgendes wieder her:

  • Die geöffnete Lösung
  • Die Codeänderungen
  • Den Zustand und die Position eines geöffneten Fenstern
  • Haltepunkte
  • Überwachungsfenstervariablen und -ausdrücke
  • Lesezeichen