ALM Geliştiricisinin Günlük İşleri: İşi Askıya Alma, Hata Düzeltme ve Kodu Gözden Geçirme

Çalışma içeriğiniz çalışmanın bir iş parçacığından diğerine diğerine geçmek için güçlü bir tek tıklatmayla yol kullanılabilir Visual Studio Premium ve Visual Studio Ultimate Team Foundation Server ile.Ayrıca, ekip üyelerinin kod için önerilen değişiklikleri ile ilgili iletileri kolayca alabilirsiniz.Bu konuda hayal hızlı ekip üyeleri bir gün için izleyen bir öğretici etmeden bu özellikleri göstermektedir.

Peter bekleme listesi öğesi görevi yerine getirmek için bazı kodlar yazmak meşgul olmuştur. Ancak, arkadaşları onları engelleyen bir hata buldunuz ve hemen düzeltme istediği.HE he yapıyor ve hata düzeltmeleri iş askıya alır.HE Julia düzeltme gözden geçirmek ister ve gözden geçirdikten sonra düzeltme denetler ve kendi özgün görev üzerindeki çalışmayı sürdürür.

[!NOT]

Peter kullandığı Çalışmam ve kod gözden geçirme özellikleri yalnızca Visual Studio Premium ve Visual Studio Ultimate.

Bu konuda

  • Geçerli iş askıya alma ve bir hata işe başlaması

  • Hata araştırın

  • İstek kodu gözden geçirme

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

  • Almak ve yanıtlamak için bir kod gözden geçirme

  • Sınama ve kod düzeltme

  • Düzeltme denetleyin

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

Geçerli iş askıya alma

Bekleme listesi öğesinde Peter çalışır gibi Julia Filiz'e engelleyen bir hata tartışmak için gelir.Peter, he hatayı gidermek için bir görev oluşturur böylece tanıdık ve kendisi için atadığı bir alan değil.İş üzerinde düzeltme hemen başlatmak karar.

HE yeni hata üzerinde çalışmaya başlamadan önce Peter geçerli çalışmasını ayrılmaz, böylece güvenli bir yerde ekibin sunucuda ayarlandığından emin olun ister.Üzerinde Çalışmam Peter seçer sayfa askıya alma kaydetmek için (üzerinde Team Foundation Server):

  • Tüm iş he, kod, testler ve diğer dosyalara yapılan değişiklikler de dahil olmak üzere yaptı.

  • Çözümler, windows, kesme noktaları, Gözcü penceresi değişkenleri ve diğer Visual Studio durumu bit açın.

Kendi çalışma alanını temiz artık, yeni bir görev Peter sürüklediğinde Kullanılabilir çalışma öğeleri için De devam eden iş.HE araştırma ve düzeltme yazmak hazırdır.

[!NOT]

Çalışma bağlamında benim çalışma sayfasında olduğu gibi ilerlemeyi göster çalışma öğeleri bağlantılıdır.Kullanarak askıya alma ve devam, farklı görevleri arasında hızla geçiş yapabilirsiniz.Açık çözümleri ve dosyalarınızı, kod değişiklikleri ve Visual Studio'nun düzenini tüm birlikte geçti.

Hh474795.collapse_all(tr-tr,VS.110).gifGeçerli iş askıya alma ve farklı bir görev üzerinde çalışmanın başlaması için

Bazı iş askıya alma

  1. Bağlan: , ardından çalımak istediiniz ekibi projeye bağlı değilseniz ekibi projeye Bağlan:

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

    1. İçinde İçinde devam eden iş bölümünde, seçim askıya alma.

    2. Askıya alınan iş bu dizi verin ve sonra seçmek istediğiniz adı görünür kutusunda belirttiğiniz askıya alma düğme.Þu anda ilerlemenizi varsayılan adıdır çalışma öğesi.

  3. Yeni bir göreve başlayacağı, hata ya da diğer iş öğesi:

    1. İş öğesi seçmeden önce aşağıdakileri yapabilirsiniz:

      • Yeni bir görev veya diğer çalışma öğesini seçerek oluşturmak Yeni altında Kullanılabilir çalışma öğeleri; veya

      • Farklı sorgu altında seçin Kullanılabilir çalışma öğeleri.

    2. Çalışma öğesi alır sürükleyin Kullanılabilir çalışma öğeleri için Çalışmaya devam eden.

      Alternatif olarak, daha önce alınan altında sürükleyerek askıya bir iş öğesi için geçiş yapabilirsiniz Askıya alınmış bir çözüm.

İpucuİpucu

Þu anda ilerleme öğeleri bağlantı geçerli kod değişiklikleri ve Visual Studio durumu için çalışır.Çalışmanızı düzenlemenize yardımcı olması Visual Studio izin veren bir görevden diğerine geçtiğinizde uygun öğeleri işlem sürüyor durumunda olduğundan emin olun.

Hata araştırın

Peter açar ve hata çalışma öğesi okur.Sınama ekibinin bir üyesi tarafından yazılan açıklama göre ödenen fatura bazen yanlış bayrak olarak ücretsiz.Var. bir laboratuar ortamı anında hata çalışma öğesi eklenmiş.Peter üzerinde sınama çalıştırma Bkz: yanlış fatura ve IntelliTrace günlük üzerinden geri adım olduğu sanal makineleri açamaz.HE aşağıdaki yöntem için arıza izler:

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

IntelliTrace günlüğü'nden Peter son derece küçük bir miktarda parametreleri farklı olduğundan bazen görüntüleyip false döndürüyor olduğunu görür.Peter, bu tür yuvarlama hataları kayan noktalı kaçınılmaz ve kayan noktalı sayılar için eşitlik sınamak için hatalı yöntem olduğunu bilir.

Hh474795.collapse_all(tr-tr,VS.110).gifHata göstermek için testler artırabilir

Bir hata bulunduğunda birimi sınamaları boşluk vardı veya sınama kullanıcının gerçek ihtiyaçlarını eşleşmedi gösterir.Bu nedenle, hata düzeltmeden önce bu hatanın varlığını gösteren bir test Peter 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));
        }

HE sınama çalıştırır ve beklendiği gibi başarısız olur.

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

Hh474795.collapse_all(tr-tr,VS.110).gifSınamaların başarılı olun

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

Birim Testi geçti gösteren Explorer sınamak için eşit

İstek kodu gözden geçirme

Kendi hata düzeltme ile Peter memnun olduğu halde he kendi iş henüz denetlemez.Genel kod kalitesini artırmak ve Peter Team Explorer kod gözden geçirme isteği kendi ekip mates Julia ve Adam için kullanır, böylece daha fazla hataların oluşturma riskini azaltmak için kod incelemelerini ekibi kullanır.

Hh474795.collapse_all(tr-tr,VS.110).gifKod gözden geçirme istemek için

Kod incelemesi isteme

  1. İçinde Team Explorer, Çalışmam sayfasında, seçim Gözden geçirme isteği.

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

  2. İnceleme Bir veya daha fazla gözden geçirenlerin belirtin.

  3. Kod gözden geçirme Gözden geçirme adını belirtin.

  4. Alan yolu Ağ yolunu belirtin.

  5. Yorum Gözden geçirenlerin açıklama belirtin.

  6. Seçim isteme.

Gözden geçirenler isteği e-posta ile bildirilir.

Kod gözden geçirme askıya alınan iş, bir shelveset ya da bir changeset de talep edebilirsiniz.

Kabul etme veya reddetme kod gözden geçirme

Jale kod gözden geçirme isteği alır ve bunu kabul eder.Filiz kod incelemelerini, dosya ve kod bloğunu düzeylerinde bazı yorumlar yazar ve kod gözden geçirme Peter için geri gönderir.ADAM, kod ve declines gözden geçirmek için çok meşgul.

Kendi açıklamalarda test yanlış Julia noktalarını.İzin verilen hata sabit bir miktar giriş değerleri belirtilen bir parçası olmalıdır.Bu nedenle sınama hata değerine göre çarpmak.

            // 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 üyelerinin bir odak olarak testler tartışmak için kullandığına dikkat edin.Testler doğru ve yeterli, kod da olacaktır.Kod her sınamanın ayrı bir servis talebini temsil eder.Bu nedenle, testleri genellikle tartışmak kodundan daha kolaydır.

Hh474795.collapse_all(tr-tr,VS.110).gifKod gözden geçirme gerçekleştirmek için

Kabul ettiğini ve kod incelemesi için yanıtKod incelemesi gerçekleştiriliyor

  1. İçinde Team Explorer, Çalışmam sayfasına gidin Benim kod incelemelerini & İstekleri bölümünde ve isteğini açın.

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

    • Seçim kabul veya Red Yazar İnceleme gerçekleştirecek olup olmadığını bildirir.

    • Seçim İnceleme Ekle diğer gözden geçirenlerin code–review isteğine eklemek.

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

    • Genişletme yorumları yazar ve diğer gözden geçirenlerin değişiklikleri tartışmak için.

      • Seçim Genel Açıklama Ekle

        -veya-

        Kod bloğunu seçin ve sonra Yorum Ekle kısayol menüsünden.

      • Seçim Yorumları Gönder yapacağınız katkılar yazar ve diğer gözden geçirenler için görünür hale getirmek için.
    • Seçim gönderebilir ve son kodu daha fazla iş gerekip gerekmediğini gösteren incelemenizi tamamlamak için.

Yanıt bir kod gözden geçirme

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

Hh474795.collapse_all(tr-tr,VS.110).gifKod gözden geçirme için yanıt vermek için

Bunlar dilediğiniz gibi yorumları sık sık gözden geçirenler ve kod Yazar değiş tokuşunda bulunabilir.Yazar kapandığında gözden geçirmeyi sona erer.Her katkı tartışmaya diğer katılımcıların e-posta ile bildirilir.

Kod incelemesi için tepki verme

  1. İçinde Team Explorer, Çalışmam sayfasına gidin kod incelemelerini & İstek bölümünde ve isteği'ni çift tıklatın.

    Ayrıca isteği için kısayol menüsünü açın ve Seç açık.

  2. Yorumları okuyun ve bunları gerektiği şekilde yanıtlayabilir.Bir açıklamayı yanıtlama tercih yanıt, görünür ve sonra seçin kutusunda yorumunuzu girin Tamam.Yorumlarınızı göndermek üzere seçtiğiniz Yorumları Gönder.

  3. Bir dosyayı görüntülemek ve yaşar kod-blokları görmek için veya bir dosyayı düzenlemek için Git yorumları bölüm.İçinde dosyaları sub-section, dosya için kısayol menüsünü açın ve ya da seçim Karşılaştır (salt okunur) veya Dosyasını düzenleme.

  4. Yorumlar ve diğer gözden geçirenler için her diğer yanıt tamamladığınızda 's ve gözden geçirme kapatmak için tıklatın hazır Kapatmak gözden, ya da seçin:

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

    • -veya-

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

Sınama ve kod düzeltme

Filiz da anlaşılacağı gibi Julia'nın açıklamaları okumak, Peter kendi birim test giderir.Şimdi sınaması başarısız.Bu kod 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;
        }

Bir kez daha test iletir:

Birim Testi geçti gösteren Explorer sınamak için eşit

İpucuİpucu

Bir hatayı düzeltmek için kod geliştirme olduğu gibi aynı yöntemi uygulayın.Başarısız olur ve sınama geçişi yapmak bir sınama yazın.Yalnızca sınama geçirdiğinizde kod ve sınamaları denetleyin.

Peter şimdi dikkatini çeker sınama hata tespit edildi durumu için kapatır.Hata yeniden oluşturma adımları sınama durumu çalışma öğesi açıkça açıklanmıştır.Adımlar izlenir ve faturaları doğru olarak listelenir bulur.

Düzeltme denetleyin

Peter sabit kod ve birimi sınamaları denetler.Hata durumunu otomatik olarak ayarlamak Çözümlenmişve Atanan kim hata bulunduğunda sınama ekibinin üyesi için değer yeniden otomatik olarak.Bu ekip üyesi hata düzeltildi ve iş öğesini kapatın doğrular.

Hh474795.collapse_all(tr-tr,VS.110).gifDüzeltme denetlemek için

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

  1. İçinde Team Explorer, Çalışmam sayfasında, seçim Check ın.

  2. İçeriği 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 öğeleri listelenen İlgili çalışma öğeleri.

  3. Belirttiğiniz bir Yorum ekibinizin değiştirilmiş dosya ve klasörlerin sürüm denetimi tarihçesine baktığınızda, bu değişikliklerin amacı anlamak yardımcı olacak.

  4. Seçim İade etme.

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

Peter kendi görev üzerindeki çalışmayı sürdürür.HE kendi çalışma durumu açık pencereleri, kesme noktaları ve Gözcü penceresi değişkenleri gibi önemli bitlerini yanı sıra kendi kod değişiklikleri geri çünkü çabucak geri elde edebilirsiniz.

Hh474795.collapse_all(tr-tr,VS.110).gifGörevde çalışmayı sürdürmek için

Bir görevi tamamlamak ve sürdürme

  • İçinde Team Explorer, Çalışmam sayfasında, Bul Beklemede & İş olarak rafta 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 çalışma alanınızda bekleyen değişiklikleri askıya alma, seçim devam.

    • Bekleyen değişikliklerin çalışma alanınızı zaten askıya alınmış çalışmak birleştirmek istiyorsanız, seçim birleştirmeye devam eden.

Hh474795.collapse_all(tr-tr,VS.110).gifNe zaman çalışmaya devam

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

Visual Studio, çalışmaya devam ettiğinizde geri yükler:

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

  • Kod değişiklikleri

  • Durum ve açık pencerelerin konumu

  • Kesme Noktaları

  • Gözcü penceresi değişkenleri ve deyimler

  • Yer imleri