Aracılığıyla paylaş


İş askıya alma, bir hata düzeltme ve kod incelemesi gerçekleştir

Çalışma içeriğiniz bir iş parçacığı çalışma alanından başka bir geçiş yapmak için güçlü bir tek tıklatmayla yol kullanılabilir Visual Studio Premium ve Visual Studio Ultimate Team Foundation Server ile.Ayrıca, iletileri kodu için önerilen değişiklikleri hakkında ekip üyeleri kolayca alabilirsiniz.Bu konu kurgusal bir Çevik takım üyeleri için bir gün izleyen bir öğretici devam etmeden bu özellikleri gösterir.

Peter bir biriktirme listesi öğesi görevi yerine getirmek için bazı kod yazma yorucu oldu.Ancak, arkadaşları bir hata bulundu , engelliyor ve hemen Düzelt istediği.Andrew kendisi yaptığını ve hata düzeltmeleri iş askıya alır.Andrew düzeltme gözden geçirmek için Julia sorar ve, düzeltme gözden geçirdikten sonra denetler ve kendi özgün görev için iş sürdürür.

[!NOT]

Peter kullanan My iş ve kod gözden geçirme özellikler yalnızca kullanılabilir Visual Studio Premium ve Visual Studio Ultimate.

Bu konuda

  • Geçerli iş askıya ve bir hata üzerinde çalışmaya

  • Hatanın araştırın

  • İstek bir kod gözden geçirme

  • Kabul etme ve gerçekleştirmek (veya reddetme) bir kod gözden geçirme

  • Alma ve yanıt için bir kod gözden geçirme

  • Test ve kod Düzelt

  • Düzeltme denetleyin

  • Bir görev üzerinde çalışmaya devam

Geçerli iş askıya alma

Peter bir biriktirme listesi öğesi üzerinde çalışırken, her engelleyen bir hata tartışmak için Julia gelir.Peter kendisinin hatayı düzeltmek için bir görev oluşturur tanıdık olduğundan ve kendisi için atar olan bir alan ayarlanır.İş düzeltme hemen başlamak karar.

Gaster yeni hatanın üzerinde çalışmaya başlamadan önce Peter takımın sunucusunda güvenli bir yerde, geçerli çalışmasını kenara ayarlandığından emin olun ister.Üzerinde My iş Peter seçtiği sayfa askıya alma kaydetmek için (üzerinde Team Foundation Server):

  • Tüm iş gaster, kod, testler ve diğer dosyaları yapılan değişiklikler de dahil yapmıştır.

  • Açık çözümleri, windows, kesme noktalarını, izleme penceresi değişkenleri ve diğer BITS Visual Studio durumu.

Kendi çalışma temiz, yeni görevden Peter sürüklediği kullanılabilir iş öğeleri için içindeki ilerleme iş.Andrew araştırma ve düzeltme yazmak hazırdır.

[!NOT]

Çalışma içeriğiniz ilerleme olduğu gibi çalışma Alanım sayfasında göster çalışma öğelerini bağlantılıdır.Kullanarak askıya alma ve Sürdür, hızla farklı görevleri arasında geçiş yapabilirsiniz.Açık çözümleri ve dosyaları, kod değişiklikleri ve Visual Studio Düzen tüm birlikte değiştirdi.

Geçerli iş askıya ve farklı bir görev üzerinde çalışmaya başlamak için

Bazı iş askıya alma

  1. Bağla: , ardından çalışmak istediğiniz takım projesine bağlı değil, takım projesine bağlanın:

    1. In Team Explorer, choose Ev simgesiniHome, and then choose Benim iş simgesiMy Work.
  2. Askıya , geçerli görev:

    1. İçindeki içindeki ilerleme iş bölümünde, seçin askıya alma.

    2. Görüntülenen kutusunda bu askıya alınmış iş kümesini verin ve ardından seçin istediğiniz adı belirtin askıya alma düğmesine tıklayın.Varsayılan ad, şu anda etmekte olan iş öğesi.

  3. İş üzerinde yeni bir görev Başlat, hata veya diğer çalışma öğesi:

    1. Bir iş öğesi seçmeden önce isteyebilirsiniz:

      • Yeni bir görev veya diğer iş öğesini seçerek oluşturma yeni altında kullanılabilir iş öğeleri; veya

      • Farklı bir sorgu altında seçin kullanılabilir iş öğeleri.

    2. Bir iş öğesi sürükleyin kullanılabilir iş öğeleri için iş ilerlemesi.

      Alternatif olarak, daha önce gelen altında sürükleyerek askıya bir iş öğesi geçebilirsiniz askıya iş.

İpucuİpucu

İş öğeleri bağlantı geçerli kod değişiklikleri ve Visual Studio durumu halen ilerlemesi.Çalışmanızı düzenlemenize yardım etmek Visual Studio izin vermek için bir görevden diğerine geçiş yaptığınızda uygun öğeleri sürüyor durumunda olduğundan emin olun.

Hatanın araştırın

Peter açar ve hata iş öğesi okur.Test takım üyesi tarafından yazılan açıklama göre Ücretli bir fatura bazen yanlış işaretlenir ücretsiz olarak.Bir laboratuvar yoktur ortam anlık görüntüsü hata iş öğesine bağlı.Peter üzerinde test Çalıştır, yanlış fatura bakın ve geri IntelliTrace günlük üzerinden adım olan sanal makineleri açabilirsiniz.Kendisi için aşağıdaki yöntemine hata izler:

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

IntelliTrace günlüğünden çok küçük bir miktarda parametreleri farklı olduğundan bazen yöntem false döndürdüğünü Peter görür.Bu tür yuvarlama hataları noktası aritmetik kayan içinde kaçınılmaz ve kayan nokta sayılarının eşitlik için test etmek için hatalı uygulama olduğunu Peter bilir.

Hata göstermek için testler artırmak

Bir hata bulunduğunda birim testlerini boşluk vardı veya test kullanıcıların gerçek gereksinimlerini eşleşmedi gösterir.Bu nedenle, hatayı düzeltmeden önce Peter bu hata varlığını gösterecek bir test ekler.

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

Andrew test çalışmaları ve beklendiği gibi başarısız olur.

Birim testi başarısız gösteren Explorer sınamak için eşittir

Testleri geçiş yapma

Peter kod giderir:

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

Şimdi test başarılı:

Test eşittir için geçen Birim Test Gezgini gösterme

İstek bir kod gözden geçirme

Hata için kendi düzeltmeyle Peter memnun, ancak gaster, iş'in henüz kontrol etmez.Uzman ekibi kod gözden geçirmeleri genel kod kalitesini artırmak ve kod gözden geçirme kendi takım mates Julia ve Adam istemek için Takım Gezgini Peter kullanması için daha fazla hatalar oluşturma riskini azaltmak için kullanır.

Kod gözden geçirme istemek için

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. İçindeki Takım Gezgini, My iş sayfasında, seçin istek gözden geçirme.

    Yeni kod gözden geçirme sayfası görüntülenir.

  2. İnceleme Bir veya daha fazla Gözden Geçiren belirtin.

  3. Kod Gözden Geçirme İnceleme adını belirtin.

  4. Alan yolu Alan yolunu belirtin.

  5. Açıklama Gözden Geçiren sizin için bir açıklama belirtin.

  6. Seçin istek gönderme.

Gözden Geçiren isteğini e-posta tarafından bildirilmez.

Ayrıca, bir kod gözden geçirme askıya alınmış iş, raf ya da değişiklik kümesi isteyebilir.Değişiklik kümeleri listesini görmek için açın kaynak denetimi gezginini ve seçin geçmişi düğmesine tıklayın.

Kabul etme veya reddetme kod gözden geçirme

Julia kod gözden geçirme isteği alır ve bunu kabul eder.Güncellenecek kod incelemeleri, dosya ve kod bloğu düzeylerde bazı yorumlar yazar ve kod gözden geçirme Peter için geri gönderir.ADAM reddedip ve kod gözden geçirmek için çok meşgul.

Her yorumlarda test yanlış olduğunu Julia işaret eder.İzin verilen hata giriş değerleri, sabit bir miktar, belirtilen bir kesir olması gerekir.Bu nedenle test hata değeri tarafından çarpın.

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

Ekip üyeleri bir odak testler için tartışma kullanın dikkat edin.Kod testleri doğru olduğundan ve yeterli varsa, aynı zamanda olacaktır.Kod farklı olarak, her test ayrı bir durum temsil eder.Bu nedenle, testleri genellikle tartışın koddan daha kolaydır.

Kod gözden geçirme gerçekleştirmek için

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. İçindeki Takım Gezgini, My iş sayfasına gidin My kod gözden geçirmeleri & istekleri bölümünde ve istek açın.

  2. Üzerinde kod gözden geçirme sayfasında, aşağıdakileri yapabilirsiniz:

    • Seçin Accept veya Reddediyorum Yazar İnceleme gerçekleştirecek olup olmadığını bildirmek için.

    • Seçin Ekle İnceleme diğer Gözden Geçiren kod – gözden geçirme isteğine eklemek için.

    • Güncelleştirilen her dosya için bu iş öğesi değişiklikleri görüntüleyin.

    • Genişletme yorumlar değişiklikleri yazar ve diğer Gözden Geçiren ile tartışmak için.

      • Seçin genel yorum Ekle

        -veya-

        Kod bloğu seçin ve ardından seçin Yorum Ekle kısayol menüsünden.

      • Seçin Yorumları Gönder katkılarınız yazar ve diğer Gözden Geçiren görünür hale getirmek için.
    • Seçin göndermek ve bitiş kodu daha fazla iş gerekip gerekmediğini belirten incelemenizi tamamlamak için.

Yanıt için bir kod gözden geçirme

Peter alır ve kod gözden geçirme için Julia yanıt verir.

Yanıt için bir kod gözden geçirme

İstedikleri gibi Gözden Geçiren ve yazar kod yorumları sıklıkta alabilirsiniz.Yazar kapandığında gözden sonlandırır.Tartışma için her bir katkı ile diğer katılımcıları tarafından e-posta bildirilmez.

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

  1. İçindeki Takım Gezgini, My iş sayfasına gidin kod gözden geçirmeleri & isteği bölümünde ve istek çift tıklatın.

    Ayrıca istek için kısayol menüsünü açın ve seçin açmak.

  2. Yorumları okumak ve bunlara gerektiği gibi yanıt.Açıklama yanıtlamak için seçin yanıt, görünür ve ardından seçin kutusuna, açıklama girin Tamam.Yorumlarınızı göndermek için seçin Yorumları Gönder.

  3. Bir dosyayı görüntüleme ve kod yorumları sahip engeller görmek için veya bir dosya düzenlemek için Git yorumlar bölüm.İçindeki dosyaları alt bölümünde, dosya için kısayol menüsünü açın ve seçin ya da karşılaştırma (salt okunur) veya Düzenle dosya.

  4. Yorumlar ve diğer Gözden Geçiren birbirine yanıt tamamladığınızda kişisinin ve gözden geçirme kapatın, tıklatın hazır kapatmak gözdenve ya da seçin:

    • Tam gözden bittiğini belirtmek için.

    • —veya—

    • İptal gözden geçirme iptal, göstermek için.

Test ve kod Düzelt

Güncellenecek öneren gibi Julia'nın yorumları okuma, kendi birim testi Peter giderir.Şimdi sınama başarısız.Bu kodun henüz doğru olmadığını gösterir.

Peter kod giderir:

        /// <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 yeniden başarılı:

Test eşittir için geçen Birim Test Gezgini gösterme

İpucuİpucu

Bir hatayı düzeltmek için kod geliştirme gibi aynı uygulama izleyin.Başarısız olur ve ardından testin geçmesini bir test yazın.Yalnızca testler başarılı olduğunda kod ve testleri denetleyin.

Peter şimdi hata bulundu test çalışması için kendi dikkat kapatır.Hatayı yeniden oluşturmak için adımları test çalışması iş öğesi açıkça açıklanmıştır.Andrew adımları izler ve faturalar doğru olarak listelenir bulur.

Düzeltme denetleyin

Peter sabit kod ve birim testlerini denetler.Hatanın durumunu otomatik olarak ayarlamak çözümlendive atanan değeri hata bulunan üyesine test takımının otomatik olarak yeniden.Bu takım üyesinin hata sabit sahip ve iş öğesi türünü kapatmak doğrular.

Düzeltme denetlemek için

Bir hatayı düzeltmek için bir güncelleştirme denetimi

  1. İçindeki Takım Gezgini, My iş sayfasında, seçin iade et.

  2. İçeriğini gözden bekleyen değişiklikler emin olmak için sayfa:

    • Tüm ilgili değişiklikleri listelenen bulunan değişiklikleri

    • Tüm ilgili çalışma öğelerini listelenen ilgili iş öğeleri.

  3. Belirtin bir açıklama takımınızın sürüm denetimi geçmişini değiştirilen dosya ve klasörleri görünürler olduğunda bu değişiklikleri amacını anlamalarına yardımcı olmak için.

  4. İade et'i seçin.

Bir görev üzerinde çalışmaya devam

Peter kendi görev için iş sürdürür.Kendisi için kendi çalışma durumunun açık windows, kesme noktalarını ve İzleme penceresi değişkenler gibi önemli BITS birlikte tüm kod değişiklikleri geri olduğundan hızlı bir şekilde çalışmaya geri elde edebilirsiniz.

Bir görev üzerinde çalışmaya devam etmek için

Bir görevi tamamlamak ve sürdürme

  • İçindeki Takım Gezgini, My iş sayfasında, bulmak Beklemede & rafa iş listesi.Öğe için kısayol menüsünü açın.İki seçeneğiniz vardır:

    • İsterseniz askıya alınmış çalışmaya devam otomatik olarak alanınızdaki bekleyen değişiklikleri askıya, seçin Sürdür.

    • Bekleyen değişiklikler alanınızdaki zaten askıya alınmış çalışma birleştirme istiyorsanız seçin sürüyor birleştirmeye.

Çalışmanızı zaman devam ettirin

Bir iş öğesi askıya tarafından etkilenen bölmeleri.

Çalışmanızı çağırdığınızda, Visual Studio geri yükler:

  • Açık çözümünüzün

  • Kod değişiklikleri

  • Durum ve açık windows konumu

  • Kesme noktaları

  • İzleme penceresi değişkenleri ve ifadeleri

  • Yer imleri

Hatanın geçti doğrulanıyor

Test ekip tarafından hata bulunursa, bunlar bazı test çalışmalarını yeniden çalışır hata bağlantılı.Daha fazla bilgi edinin.