Den v životě vývojáře devops: Pozastavení práce, oprava chyby a kontrola kódu
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018
Visual Studio 2019 | Visual Studio 2022
Funkce Moje práce a Kontrola kódu v sadě Visual Studio podporují přepínání kontextu z jednoho vlákna do jiného. Členové týmu si 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 Den v životě vývojáře devops: Psaní nového kódu pro uživatelský příběh.
Poznámka
Funkce Moje práce a Revize kódu v sadě Visual Studio 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, abyste okamžitě opravili chybu, která blokuje členy týmu v jiné pracovní položce. Po opravě chyby můžete požádat kolegy, aby zkontrolovali opravu, a po dokončení kontroly se změnami opravu a pokračovat v práci na původním úkolu.
Pozastavit aktuální práci
Když pracujete na položce backlogu, můžete zjistit chybu v jiné položce, která blokuje členy týmu. Pokud se jedná o oblast, kterou znáte, můžete vytvořit úkol, který chybu opraví, a přiřadit ji sami sobě, abyste na ní 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 a uložte ho 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, watch proměnné oken a další části stavu sady Visual Studio.
Teď, když je pracovní prostor čistý, přetáhněte nový úkol z části Dostupné pracovní položky do části Probíhá práce. Jste připraveni prozkoumat a napsat opravu.
Poznámka
Pracovní kontext je propojený s pracovními položkami, které se na stránce Moje práce zobrazují jako Probíhající. Pomocí funkce Pozastavit a Obnovit můžete rychle přepínat mezi různými úkoly. Vaše otevřená řešení a soubory, změny kódu a rozložení sady Visual Studio se přepínají společně.
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 části Dostupné pracovní položky do probíhající práce. Nebo můžete přepnout na pracovní položku, kterou jste dříve pozastavili přetažením z pozastavené práce.
Pokud se pracovní položka, kterou chcete přiřadit sami, nezobrazuje v části Dostupné pracovní položky, můžete:
- Vytvořte nový úkol nebo jinou pracovní položku výběrem možnosti Nový.
- Vyberte jiný dotaz výběrem možnosti Otevřít dotaz.
Tip
Probíhající pracovní položky odkazují na aktuální změny kódu a stav sady Visual Studio. Pokud chcete, aby vám sada Visual Studio mohla pomoct s uspořádáním práce, ujistěte se, že při přechodu z jednoho úkolu na jiný jsou příslušné položky ve stavu Probíhající práce .
Prošetření 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 projdete protokol IntelliTrace. Chybu můžete vysledovat pomocí následující metody:
public class LocalMath
{
public static bool EqualTo(double a, double b)
{
return a == b;
}
Z protokolu IntelliTrace vidíte, že někdy metoda vrátí false, protože parametry se liší o velmi malou část. Víte, že chyby zaokrouhlení tohoto typu jsou v aritmetice s plovoucí desetinnou čárkou nevyhnutelné a že je špatným postupem testovat čísla s plovoucí desetinnou čárkou z hlediska rovnosti.
Rozšíření testů tak, aby zobrazovaly chybu
Když se najde chyba, ukáže se, že v testech jednotek byla mezera nebo že test neodpovídá skutečným potřebám uživatelů. Proto před opravou chyby přidejte test, který demonstruje 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ů
Opravte kód:
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 revizi kódu
Až budete s opravou chyby spokojeni, nekontrolujte svou práci. Aplikace Teams 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 kontrolu kódu od členů týmu.
Žádost o revizi kódu
V Team Exploreru na stránce Moje práce v části Probíhá práce zvolte Požádat o revizi.
Zobrazí se stránka Nová revize kódu .
- Do pole Zadejte jméno revidujícího zadejte jednoho nebo více revidujících a po každém výběru stiskněte Klávesu Enter.
- V dalším poli změňte název recenze, pokud chcete.
- V dalším poli se ujistěte, že je zobrazena správná cesta k oblasti.
- Do dalšího pole zadejte volitelný popis.
Zvolte Odeslat žádost.
Revidující budou na žádost upozorněni 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 .
Provést revizi kódu
Revidující může žádost o kontrolu kódu přijmout. Revidující zkontroluje kód, napíše nějaké komentáře na úrovni bloků souborů a kódu a pak vám pošle recenzi kódu zpět. Vyžádaný kontrolor, který je příliš zaneprázdněný na to, aby si kód prostudoval, může kontrolu odmítnout.
V komentářích revidující poukazuje na to, že test je chybný. Povolenou chybou by měl být zadaný zlomek vstupních hodnot, nikoli konstantní množství. 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 pro 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 je často jednodušší probrat testy než kód.
Postup kontroly kódu
Na stránce Moje práce v Team Exploreru klikněte pravým tlačítkem 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:
Zvolte Přidat revidující a přidejte do žádosti o kontrolu kódu další revidující.
Výběrem odkazu na jednotlivé soubory zobrazíte změny souborů, které byly aktualizovány pro tuto pracovní položku.
Pomocí komentáře prodiskutujte změny s autorem a dalšími revidujícími.
Přidání komentářů:
- Zvolte Přidat celkový komentář a přidejte do recenze celkový komentář.
- Při prohlížení souboru vyberte řádek nebo blok kódu, klikněte pravým tlačítkem a vyberte Přidat komentář.
Po přidání jednotlivých komentářů vyberte Uložit nebo stiskněte Kombinaci kláves Ctrl+Enter.
Až zadávání komentářů dokončíte, vyberte Odeslat komentáře , aby se vaše příspěvky zobrazovaly pro autora a další revidující.
Odpověď na revizi kódu
Obdržíte kontrolu kódu a odpovíte na ni od revidujících. Vy a revidující si můžete vyměňovat komentáře tak často, jak chcete. Kontrola skončí, když ji zavřete.
Odpověď na revizi kódu
V Team Exploreru na stránce Moje práce přejděte do části Revize kódu a poklikejte na žádost nebo klikněte pravým tlačítkem na žádost a zvolte Otevřít.
Zobrazí se stránka Revize kódu .
V části Komentáře si přečtěte komentáře a podle potřeby na ně odpovězte. Pokud chcete odpovědět na komentář, 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é obsahují komentáře, nebo chcete soubor upravit nebo okomentovat, přejděte do pododdílu Soubory . Klikněte pravým tlačítkem na soubor a zvolte jednu z těchto možností:
- Porovnat (jen pro čtení)
- Upravit místní soubor nebo
- Přidat komentář k souboru
Můžete také zaškrtnout políčko vedle komentáře a tím označit, že byl komentář vyřešen.
Pokud chcete poslat komentáře, zvolte Odeslat komentáře.
Až vy a ostatní revidující dokončíte odpověď na komentáře ostatních a budete připraveni zavřít recenzi, vyberte Zavřít recenzi a pak vyberte:
- Dokončeno , aby bylo uvedeno, že kontrola je dokončena, nebo
- Pokud chcete označit, že recenzi rušíte, můžete ji opustit.
Oprava testu a kódu
Po přečtení komentářů ke kontrole můžete test jednotek opravit podle návrhu. 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 podle stejného postupu jako při vývoji kódu. Napište test, který selže, a pak proveďte jeho úspěšné provedení. Kód a testy se změnami se změnami pouze v případech, kdy testy projdou.
Teď se soustředíte na testovací případ, ve kterém byla chyba zjištěna. Kroky pro reprodukci chyby jsou jasně popsané v pracovní položce testovacího případu. Postupujte podle pokynů a zjistíte, že jsou správně uvedené faktury.
Kontrola opravy
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 chyba byla opravena, a zavře pracovní položku.
Kontrola opravy
V Team Exploreru na stránce Moje práce zvolte Check In a otevřete tak stránku Čekající změny.
Na stránce Čekající změny se ujistěte, že:
Všechny relevantní změny jsou uvedené v části Zahrnuté změny.
Všechny relevantní pracovní položky jsou uvedené v části Související pracovní položky.
Zadejte komentář , který vašemu týmu pomůže pochopit účel těchto změn při pohledu na historii správy verzí změněných souborů a složek.
Vyberte Check In.
Obnovení práce na úkolu
Pokračujte v práci na původním úkolu. Můžete se rychle vrátit do práce, protože všechny změny kódu se obnoví v pracovním prostoru spolu s důležitými částmi stavu, jako jsou otevřená okna, zarážky a watch proměnné okna.
Obnovení práce na úkolu
V Team Exploreru na stránce Moje práce vyberte původní pracovní položku v části Pozastavená práce a vyberte Pokračovat.
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 umístění otevřených oken
- Zarážky
- Sledování proměnných a výrazů okna
- Záložky
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat Problémy GitHubu jako mechanismus zpětné vazby pro obsah a nahradíme ho novým systémem zpětné vazby. Další informace najdete tady:Odeslat a zobrazit názory pro