Pozastavit práce, opravte chyby a přezkum kód
Přepnout kontext pracovní z jednoho podprocesu práce na jiný účinný způsob jedním kliknutím je k dispozici v Visual Studio Premium a Visual Studio Ultimate se sadou Team Foundation Server.Členové týmu také snadné zasílat zprávy o navrhované změny kódu.Toto téma ukazuje tyto funkce pokračováním kurz, který následuje členy týmu fiktivní agilní za den.
Peter byl zaneprázdněn psaní kódu, některé ke splnění úkolu nevyřízené položky.Však jeho kolegové našli chybu , jejich blokuje a chce okamžitě napravit.Mu pozastaví práci, že dělá a opravy chyb.Žádá Helena Chcete-li zkontrolovat potíže a po kontrole, vrátí se změnami potíže a obnoví práci na jeho původní úkolu.
[!POZNÁMKA]
Funkce Moje práce a revize kódu, které používá Peter jsou k dispozici pouze v Visual Studio Premium a Visual Studio Ultimate.
V tomto tématu
Pozastavit aktuální práce a začít pracovat na chybu
Prozkoumejte této chyby
Vyžádání revize kódu
Přijmout a provádět (nebo odmítnout) revize kódu
Zobrazit a reagovat na revize kódu
Opravte test a kód
Potíže se změnami
Pokračovat v práci na úkolu
Pozastavit aktuální práce
Jako Peter pracuje na nevyřízené položky, Helena pochází diskutovat o chyby, které jí blokuje.Je v oblasti, ke kterému Peter je známé, a proto mu vytvoří úlohu, chcete-li opravit této chyby a přiřadí sám.Rozhodne, že má být zahájeno potíže okamžitě.
Předtím, než spustí fungovat na novou chybu, Peter chce, abyste měli jistotu, že jeho aktuální práce je vyhrazena bezpečné místo na serveru týmu.Na Moje práce stránky, zvolí Peter Suspend uložit (na Team Foundation Server):
Všechny pracovní mu má provést, včetně změn v kódu, testy a další soubory.
Otevřete řešení, windows, zarážky, proměnné okno kukátka a dalších bitů stavu sady Visual Studio.
Teď, když je čistého jeho pracovního prostoru, Peter nastavuje tažením nový úkol z k dispozici pracovní položky k v průběhu práce.Se může pro zkoumání a zápis potíže.
[!POZNÁMKA]
Váš pracovní kontext je propojen s pracovními položkami, které se zobrazí na stránce Mé fungovat stejně jako v průběhu.S použitím Suspend a obnovit, můžete rychle přepínat mezi různé úlohy.Otevřete řešení a soubory, změny kódu a rozložení sady Visual Studio jsou všechny zapnuty společně.
Chcete-li pozastavit aktuální pracovní zahájit práci na jiný úkol
Připojení: Pokud ještě nejste připojeni k týmovému projektu, kterou chcete pracovat ve, pak připojení k týmovému projektu:
- In Team Explorer, choose Home, and then choose My Work.
Pozastavit spuštěné úlohy:
V v průběhu práce oddílu, zvolte Suspend.
Do pole zadejte název, který chcete přidělit tuto sadu pozastavené práce a poté zvolte možnost Suspend tlačítko.Výchozí název je aktuálně v průběhu pracovní položku.
Zahájení práce na nový úkol, chybu nebo jiné pracovní položky:
Před výběrem pracovní položky, můžete chtít:
Vytvořit nový úkol nebo jiné pracovní položky volbou nový pod dostupných pracovních položek; nebo
Vyberte jiný dotaz pod k dispozici pracovní položky.
Přetáhnout pracovní položku z dostupných pracovních položek k v průběhu práce.
Alternativně můžete přejít na pracovní položku, která dříve pozastavena přetažením z pod pozastaveno pracovat.
Tip
Aktuálně v průběhu pracovní položky odkaz na aktuální změny kódu a stavu sady Visual Studio.Pokud chcete povolit sady Visual Studio, které vám pomohou uspořádat práci, ujistěte se, že odpovídající položky jsou ve stavu v průběhu při přepnutí z jednoho úkolu do jiného.
Prozkoumejte této chyby
Peter otevře a přečte chybu pracovní položku.Podle popis, který byl zapsán podle členů týmu, testování, placené faktury někdy nesprávně označen jako před zaplacením.Je k dispozici laboratoř snímků prostředí připojit k pracovní položce chybu.Petr je možné otevřít virtuální počítače, na nichž byl test spustit, viz nesprávné faktury a kroku zpět prostřednictvím protokolu IntelliTrace.Mu trasuje chyby následujícím způsobem:
public class LocalMath
{
public static bool EqualTo(double a, double b)
{
return a == b;
}
Z protokolu IntelliTrace Peter si všimne, že v některých případech metoda vrátí hodnotu false vzhledem k tomu, že parametry se liší podle velmi malé množství.Peter ví, že nezbytné při plovoucí bod aritmetický zaokrouhlení chyby tohoto typu a, je chybné vhodné k testování čísla s plovoucí desetinnou rovnosti.
Rozšířit testy, které chcete zobrazit chybu
Pokud je nalezena chyba, zobrazuje, aby byla mezeru v testování částí, nebo že test neodpovídá skutečné požadavky uživatelů.Před opravou chyb, Peter nepřidá test, který předvede přítomnost této chyby.
// Added 2012-02-02 for bug 654321:
/// <summary>
/// Make sure that number equality test allows for
/// small rounding errors.
/// </summary>
[TestMethod]
public void TestDoublesEqual()
{
// We 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));
}
Mu spouští test a dojde k chybě podle očekávání.
Proveďte testy předávání
Peter řeší 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 nyní předává:
Vyžádání revize kódu
Petr s jeho oprava této chyby je splněna, ale má nekontroluje v svou práci ještě.Jeho tým používá revize kódu zvýšit celkovou kvalitu kódu a snížení rizika vytvoření více chyb, takže Peter používá průzkumníka týmových projektů k vyžádání revize kódu z jeho tým pomocníků Helena a Adam.
Chcete-li vyžádání revize kódu
V průzkumníka týmových projektů, dále Moje práce stránky, zvolte žádost o revizi.
Nové revize kódu se zobrazí stránka.
Zadejte jeden nebo více kontrolorů.
Zadejte název tuto revizi.
Zadejte cestu k oblasti.
Zadejte komentář, který má vaše kontrolorů.
Zvolte odeslat žádost o.
Kontroloři budou upozorněni požadavku e-mailem.
Také můžete požádat o revize kódu pozastavené práce, shelveset nebo objekt changeset.Chcete-li zobrazit seznam sad změn, otevřete Průzkumníka správy zdrojového kódu a zvolte možnost historie tlačítko.
Přijmout nebo odmítnout revize kódu
Helena přijme žádost o revizi kódu a přijme ji.Uživatel revizí kódu, zapíše některé komentáře na úrovni bloku souboru a kódu a pak odešle revizi kódu zpět Peter.ADAM je zaneprázdněn a seznamte se s kódu a klesá.
Ve své připomínky Helena poukazuje na skutečnost, že test je nesprávný.Povolené chyby by měla být zadaný zlomek vstupní hodnoty není konstantní množství.Aby test by měl vynásobením hodnota chyby.
// 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
Všimněte si, že členy týmu pomocí testů jako zaměřením pro účely diskuse.Pokud testy jsou správné a dostatečná, budou také kód.Na rozdíl od kódu představuje každý testovací samostatné případu.Z tohoto důvodu jsou často testy snadněji diskutovat o než kód.
K provedení revize kódu
V průzkumníka týmových projektů, na Moje práce stránky, přejděte na mé revize kódu & požadavky oddílu a otevřete žádost o.
Na revize kódu stránky, můžete provádět následující akce:
Zvolte Accept nebo Nesouhlasím oznámit Autor, zda bude provedení revizi.
Zvolte přidat kontrolora lze do žádosti revize kódu – přidat ostatních kontrolorů.
Prohlédněte si změny u každého souboru, který byl aktualizován pro tuto pracovní položku.
Rozbalte položku komentáře diskutovat o změny s autorem a ostatních kontrolorů.
Zvolte přidat celkového komentář
-nebo-
Vyberte blok kódu a poté zvolte možnost přidejte komentář z místní nabídky.
- Zvolte odeslat poznámky Chcete-li vaše příspěvky viditelné pro autora a ostatních kontrolorů.
Zvolte odeslání a dokončit k dokončení recenzi, která určuje, zda kód potřebuje více práce.
Odpovědět na revize kódu
Peter přijme a reaguje na revizi kódu z Helena.
Chcete-li odpovědět na revize kódu
Komentáře tak často, můžete výměna kontroloři a autor kódu, jejich omezen.Revize končí, když autor zavře.U každého příspěvku do diskuse ostatní účastníci upozorněni e-mailem.
V průzkumníka týmových projektů, na Moje práce stránky, přejděte na revize kódu & požadavku oddílu a klikněte dvakrát žádost o.
Můžete také otevřete místní nabídku pro požadavek a zvolte otevřete.
Přečtěte si komentáře a odpovídání na ně podle potřeby.Chcete-li odpovědět na komentář, zvolte reakce, zadejte komentář do pole, které se zobrazí a pak zvolte OK.Chcete-li zašlete své připomínky, zvolte odeslat poznámky.
Zobrazit soubor a zjistit bloky kódu, které mají komentáře nebo úpravě souboru, přejděte k komentáře oddílu.V soubory dílčí oddílu, otevřete místní nabídku pro soubor a zvolit buď porovnání (jen pro čtení) nebo upravit soubor.
Pokud jste a ostatních kontrolorů dokončí vzájemně propojeny je komentáře a jste připraveni k zavřete tuto revizi, klikněte na tlačítko zavřete zkontrolovata pak zvolte buď:
Dokončení označuje, zda je kontrola dokončená.
—nebo—
Proto ukončil k označení, jsou zrušení tuto revizi.
Opravte test a kód
Čtení na Helena komentáře Peter odstraňuje jeho testování částí jako uživatel navrhuje.Nyní se test nezdaří.Z toho vyplývá, že kód není ještě správná.
Peter řeší 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 byl úspěšný opět:
Tip
Chcete-li opravit chyby, použijte stejný postup jako vývoj kódu.Napište test, který selže a pak proveďte test předat.Ověřte, zda kód a testy pouze v případě, že předávání testy.
Peter nyní změní upozorňující testovacích případů, ve kterém byla zjištěna této chyby.Kroky pro reprodukci této chyby jsou jasně popsány v pracovní položce testovacího případu.Mu provede kroky a zjišťuje, že faktury jsou uvedeny správně.
Potíže se změnami
Peter ověří pevná kód a testování částí.Stav této chyby je automaticky nastavena Vyřešenoa přiřazeno hodnota bude automaticky přiřazena člen týmu test, který nalezených chyb.Tento člen týmu bude ověřte, zda této chyby byl vyřešen a zavřete pracovní položku.
Chcete-li zkontrolovat v opravě
V průzkumníka týmových projektů, dále Moje práce stránky, zvolte vrátit se změnami.
Prohlédněte si obsah čekajících změn stránku a ujistěte se, že:
Všechny příslušné změny jsou uvedeny v zahrnuty změny
Všechny relevantní pracovní položky jsou uvedeny v související pracovní položky.
Zadejte komentář pomoci pochopit účel tyto změny při prohlížení v historii správy verzí změněné soubory a složkami týmu.
Vyberte Vrátit se změnami.
Pokračovat v práci na úkolu
Peter obnoví práci na jeho úkolu.Je schopen se vrátit k pracovat rychle, protože jeho kód změny budou obnoveny do svého pracovního prostoru společně s důležité, bity stavu otevřených oken, zarážky a proměnné okno kukátka.
Chcete-li pokračovat v práci na úkolu
V průzkumníka týmových projektů, na Moje práce stránky, Najít Suspended & páska či disk jsou pracovní seznamu.Otevřete místní nabídku pro položku.Máte dvě možnosti:
Pokud chcete pokračovat v nezpracovaných práci a automaticky pozastavit všechny čekající změny ve vašem pracovním prostoru, zvolte obnovit.
Pokud chcete sloučit pozastavené pracovat s čekající změny již ve vašem pracovním prostoru, zvolte Merge with v průběhu.
Pokud pokračujte v práci
Pokud budete pokračovat v práci, obnoví sady Visual Studio:
Otevření řešení
Vaše změny kódu
Stav a pozici otevřít systému windows
Zarážky
Výrazů a proměnných okno kukátka
Záložky
Probíhá ověření, že této chyby přešel
Pokud byla chyba nalezena test týmem, jejich bude propojena některých testovacích případů do této chyby, které bude znovu spustit.Další informace.