Den v životě vývojáře devops: Pozastavení práce, oprava chyby a provedení kontroly kódu

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

Visual Studio 2019 | Visual Studio 2022

Funkce Pro kontrolu práce a kódu sady Visual Studio podporují přepínání kontextu z jednoho vlákna práce na druhé. Členové týmu také můžou snadno vyměňovat zprávy o navrhovaných změnách kódu. Tento článek ukazuje tyto funkce a pokračuje v kurzu dne v životě vývojáře DevOps: Napište nový kód pro uživatelský příběh.

Poznámka:

Funkce Visual Studio My Work a Code Review jsou k dispozici v následujících edicích:

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

Tento kurz popisuje, jak můžete pozastavit práci na aktuálním úkolu a okamžitě opravit chybu, která blokuje členy týmu v jiné pracovní položce. Po opravě chyby můžete požádat kolegy, aby si opravu zkontrolovali, a až kontrola projde, zkontrolujte opravu a obnovíte práci na původním úkolu.

Pozastavení aktuální práce

Když pracujete na položce backlogu, můžete zjistit chybu v jiné položce, která blokuje členy týmu. Pokud je to oblast, se kterou jste obeznámeni, můžete vytvořit úkol, kterým chybu opravíte a přiřadíte ji sami sobě, abyste mohli okamžitě pracovat.

Než začnete pracovat na nové chybě, chcete se ujistit, že je vaše aktuální práce vyhrazena na bezpečném místě na serveru týmu. V Team Exploreru sady Visual Studio na stránce Moje práce zvolte Pozastavit, pokud chcete uložit na server:

  • Veškerá práce, kterou jste udělali, včetně změn kódu, testů a dalších souborů.

  • Otevřete řešení, okna, zarážky, proměnné okna kukátka a další bity stavu sady Visual Studio.

Teď, když je pracovní prostor čistý, přetáhněte nový úkol z dostupných pracovních položek do probíhající práce. Jste připraveni prozkoumat a napsat opravu.

Poznámka:

Váš pracovní kontext je propojený s pracovními položkami, které se zobrazují jako Probíhá na stránce Moje práce . Pomocí funkce Pozastavit a Pokračovat můžete rychle přepínat mezi různými úkoly. Všechna otevřená řešení a soubory, změny kódu a rozložení sady Visual Studio se přepnou dohromady.

Pozastavení aktuální práce a zahájení práce na jiném úkolu

Přepnutí pracovního kontextu:

  1. Pokud ještě nejste připojení k projektu, ve kterém chcete pracovat, připojte se k projektu.

  2. Na domovské stránce Team Exploreru zvolte Moje práce.

  3. Na stránce Moje práce v části Probíhá práce zvolte Pozastavit.

  4. V zobrazeném poli volitelně změňte název, kterému chcete dát tuto sadu pozastavené práce, a pak vyberte Pozastavit. Položka se zobrazí v části Pozastavená práce.

    Snímek obrazovky s pozastavením některých prací

  5. Přetáhněte pracovní položku z dostupných pracovních položek do probíhající práce. Nebo můžete přepnout na pracovní položku, kterou jste předtím pozastavili přetažením z pozastavené práce.

    Pokud se pracovní položka, kterou chcete přiřadit sami, nezobrazí v části Dostupné pracovní položky, můžete:

    • Výběrem možnosti Nový vytvořte nový úkol nebo jinou pracovní položku.
    • Výběrem možnosti Otevřít dotaz vyberte jiný dotaz.

Tip

Probíhající pracovní položky odkazují na aktuální změny kódu a stav sady Visual Studio. Pokud chcete sadě Visual Studio povolit uspořádání práce, ujistěte se, že jsou příslušné položky ve stavu Probíhající práce , když přepnete z jednoho úkolu na jiný.

Prozkoumání chyby

Otevřete novou chybu a přečtěte si popis. V tomto příkladu popis člena testovacího týmu uvádí, že placená faktura je někdy nesprávně označena jako nezaplacená. Snímek testovacího prostředí je připojený k pracovní položce chyby. Otevřete virtuální počítač, na kterém byl test spuštěn, zobrazíte nesprávnou fakturu a provedete krok zpět v protokolu IntelliTrace. Chybu můžete vysledovat následující metodou:

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

Z protokolu IntelliTrace vidíte, že metoda někdy vrací hodnotu false, protože parametry se liší extrémně malým množstvím. Víte, že chyby zaokrouhlení tohoto typu nejsou v aritmetice s plovoucí desetinnou čárkou možné a že je špatný postup testování čísel s plovoucí desetinnou čárkou pro rovnost.

Rozšíření testů tak, aby zobrazovaly chybu

Když se najde chyba, ukáže se, že v testech jednotek došlo k mezerě nebo že test neodpovídá skutečným potřebám uživatelů. Před opravou chyby proto přidejte test, který ukazuje přítomnost této chyby:

// 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));
}

Spusťte test a podle očekávání selže.

Snímek obrazovky Průzkumníka testů jednotek zobrazující neúspěšný test pro rovná se

Provedení testů jako úspěšného

Oprava kódu:

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;
}

Test teď projde:

Snímek obrazovky Průzkumníka testů jednotek s úspěšným testem pro stejnou hodnotu

Žádost o kontrolu kódu

Až budete s opravou chyby spokojení, ještě svou práci nekontrolujte. Týmy používají revize kódu ke zvýšení celkové kvality kódu a snížení rizika vytváření dalších chyb. Pomocí Team Exploreru můžete požádat o revize kódu od členů týmu.

Žádost o kontrolu kódu

  1. V Team Exploreru zvolte na stránce Moje práce v části Probíhá práce možnost Kontrola žádosti.

    Zobrazí se stránka Nová revize kódu.

    Snímek obrazovky se stránkou Kontrola kódu požadavku

    • Do pole Zadejte jméno revidujících , zadejte jednoho nebo více revidujících a po každém výběru stiskněte Enter.
    • V dalším poli změňte název revize, pokud chcete.
    • V dalším poli se ujistěte, že se zobrazí správná cesta k oblasti.
    • Do dalšího pole zadejte volitelný popis.
  2. Zvolte Odeslat žádost.

Kontroloři obdrží oznámení o žádosti e-mailem.

Můžete také požádat o kontrolu kódu pozastavené práce, sady odložených změn nebo sady změn. Pokud chcete zobrazit seznam sad změn, otevřete Průzkumníka správy zdrojového kódu a zvolte tlačítko Historie .

Kontrola kódu

Kontrolor může přijmout žádost o kontrolu kódu. Kontrolor zkontroluje kód, zapíše některé komentáře na úrovni souboru a bloku kódu a pak vám pošle kontrolu kódu zpět. Požadovaný kontrolor, který je příliš zaneprázdněný ke kontrole kódu, může revizi odmítnout.

V komentářích revidující upozorňuje, že test je chybný. Povolená chyba by měla být zadanou zlomkem vstupních hodnot, nikoli konstantním množstvím. Test by tedy měl chybu vynásobit hodnotou.

// 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

Tip

Členové týmu používají testy jako fokus na diskuzi. Pokud jsou testy správné a dostatečné, kód bude také. Na rozdíl od kódu představuje každý test samostatný případ. Z tohoto důvodu jsou testy často jednodušší prodiskutovat než kód.

Postup kontroly kódu

  1. Na stránce Moje práce v Team Exploreru klikněte pravým tlačítkem myši na kontrolu kódu v části Revize kódu a vyberte Otevřít.

    Zobrazí se stránka Revize kódu.

    Snímek obrazovky se stránkou Revize kódu

  2. Na stránce Revize kódu můžete:

    • Pokud chcete do žádosti o kontrolu kódu přidat další revidujícím, zvolte Přidat revidujícím .

    • Výběrem jednotlivých odkazů na soubor zobrazíte změny souborů, které byly aktualizovány pro tuto pracovní položku.

    • Pomocí komentářů můžete diskutovat o změnách u autora a dalších revidujících.

      Přidání komentářů:

      • Pokud chcete do recenze přidat celkový komentář, zvolte Přidat celkový komentář .
      • Při prohlížení souboru vyberte řádek nebo blok kódu, klikněte pravým tlačítkem myši a vyberte Přidat komentář.

      Po přidání každého komentáře vyberte Uložit nebo stiskněte Ctrl+Enter.

  3. Až budete hotovi se zadáváním komentářů, vyberte Odeslat komentáře , aby se vaše příspěvky zobrazovaly autorovi a dalším recenzentům.

Reakce na revizi kódu

Od revidujících obdržíte kontrolu kódu a odpovíte na ni. Vy i revidujícím si můžete vyměňovat komentáře tak často, jak chcete. Recenze skončí, když ji zavřete.

Reakce na kontrolu kódu

  1. V Team Exploreru přejděte na stránce Moje práce do části Revize kódu a poklikejte na žádost nebo klikněte pravým tlačítkem myši na žádost a zvolte Otevřít.

    Zobrazí se stránka Revize kódu.

    Snímek obrazovky, který odpovídá na revizi kódu

  2. V části Komentáře si komentáře přečtěte a podle potřeby na ně odpovězte. Pokud chcete na komentář odpovědět, zvolte Odpovědět, zadejte komentář do pole, které se zobrazí, a pak zvolte OK.

  3. Pokud chcete zobrazit soubor a zobrazit bloky kódu, které mají komentáře, nebo upravit nebo okomentovat soubor, přejděte do pododdílu Soubory . Klikněte pravým tlačítkem myši na soubor a zvolte jednu z těchto možností:

    • Porovnání (jen pro čtení)
    • Upravit místní soubor nebo
    • Přidat komentář k souboru

    Můžete také zaškrtnout políčko vedle komentáře a označit, že se komentář vyřešil.

  4. Pokud chcete komentáře odeslat, zvolte Odeslat komentáře.

  5. Když vy a ostatní revidujícím dokončíte reagování na komentáře ostatních a jste připraveni kontrolu zavřít, vyberte Zavřít recenzi a pak vyberte:

    • Dokončeno , aby bylo uvedeno, že kontrola je dokončena, nebo
    • Pokud chcete označit, že kontrolu rušíte, zrušte ji.

Oprava testu a kódu

Po přečteníkomentářůch Test teď selže. To ukazuje, že kód ještě není správný.

Opravíte kód:

/// <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;
}

Test znovu projde.

Tip

Pokud chcete chybu opravit, postupujte stejně jako při vývoji kódu. Napište test, který selže, a pak test projde. Zkontrolujte kód a testy pouze v případech, kdy testy projdou.

Nyní svou pozornost obrátíte na testovací případ, ve kterém byla zjištěna chyba. Kroky pro reprodukci chyby jsou jasně popsány v pracovní položce testovacího případu. Postupujte podle kroků a zjistíte, že jsou faktury správně uvedené.

Vrácení opravy se změnami

Zkontrolujete pevný kód a testy jednotek. Stav chyby se automaticky nastaví na Vyřešeno a hodnota Přiřazeno se automaticky znovu přiřadí členovi testovacího týmu, který chybu zjistil. Tento člen týmu ověří, že byla chyba opravena, a zavře pracovní položku.

Vrácení opravy se změnami

  1. V Team Exploreru na stránce Moje práce zvolte Vrátit se změnami a otevřete stránku Čekající změny.

    Snímek obrazovky s vrácením aktualizace se kontrolou a opravou chyby

  2. Na stránce Čekající změny se ujistěte, že:

    • Všechny relevantní změny jsou uvedeny v zahrnutých změnách.

    • Všechny relevantní pracovní položky jsou uvedené v souvisejících pracovních položkách.

  3. Zadejte komentář, který týmu pomůže pochopit účel těchto změn, když se podívá na historii správy verzí změněných souborů a složek.

  4. Vyberte Vrátit se změnami.

Pokračování práce na úkolu

Pokračujte v práci na původním úkolu. Můžete se rychle vrátit k práci, protože všechny změny kódu se v pracovním prostoru obnoví spolu s důležitými částmi stavu, jako jsou otevřená okna, zarážky a proměnné okna kukátka.

Obnovení práce na úkolu

  • V Team Exploreru vyberte na stránce Moje práce původní pracovní položku v části Pozastavená práce a vyberte Pokračovat.

    Snímek obrazovky s obnovením úkolu

    Nebo pokud chcete sloučit pozastavenou práci s čekajícími změnami v pracovním prostoru, zvolte Sloučit s probíhajícími změnami.

Když obnovíte práci, Visual Studio obnoví:

  • Vaše otevřené řešení
  • Změny kódu
  • Stav a pozice otevřených oken
  • Zarážky
  • Kukátko proměnných a výrazů oken
  • Záložky