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:
Pokud ještě nejste připojení k projektu, ve kterém chcete pracovat, připojte se k projektu.
Na domovské stránce Team Exploreru zvolte Moje práce.
Na stránce Moje práce v části Probíhá práce zvolte Pozastavit.
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.
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.
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:
Žá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
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.
- 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.
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
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.
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.
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
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.
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.
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.
Pokud chcete komentáře odeslat, zvolte Odeslat komentáře.
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
V Team Exploreru na stránce Moje práce zvolte Vrátit se změnami a otevřete stránku Čekající změny.
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.
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.
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.
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