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

Pozastavení práce

  1. 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:

    1. In Team Explorer, choose Ikona Domovská stránkaHome, and then choose Ikona Tento práceMy Work.
  2. Pozastavit spuštěné úlohy:

    1. V v průběhu práce oddílu, zvolte Suspend.

    2. 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.

  3. Zahájení práce na nový úkol, chybu nebo jiné pracovní položky:

    1. 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.

    2. 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í.

Zobrazení Průzkumníka testů částí neúspěšné test pro rovná

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á:

Zobrazení Průzkumníka testů částí předána test pro rovná

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

My Work page - Request Review link. New Code Review page - Enter the name of a reviewer dropdown, Enter a description (optional) textbox, Submit Request button.

  1. 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.

  2. Kontrolora Zadejte jeden nebo více kontrolorů.

  3. Revize kódu Zadejte název tuto revizi.

  4. Cesta k oblasti Zadejte cestu k oblasti.

  5. Komentář Zadejte komentář, který má vaše kontrolorů.

  6. 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

My Work page - code review item. Code Review page - Decline link, Comment, Decline button.Diff window. Code Review page - Accept link, Overall comment, code block comment

  1. 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.

  2. 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.

My Work page - code review item. Code Review page - Overall comment, file comment, Close Review link.

  1. 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.

  2. 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.

  3. 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.

  4. 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:

Zobrazení Průzkumníka testů částí předána test pro rovná

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ě

Vrácení se změnami aktualizaci opravit chybu

  1. V průzkumníka týmových projektů, dále Moje práce stránky, zvolte vrátit se změnami.

  2. 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.

  3. 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.

  4. 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

Obnovení a dokončení ú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

Podokna ovlivněny pozastavení pracovní položku.

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.