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.
Geçerli iş askıya alma ve farklı bir görev üzerinde çalışmanın başlaması için
Bağlan: , ardından çalımak istediiniz ekibi projeye bağlı değilseniz ekibi projeye Bağlan:
- In Team Explorer, choose Home, and then choose My Work.
Askıya alma geçerli görevinizi:
İçinde İçinde devam eden iş bölümünde, seçim askıya alma.
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.
Yeni bir göreve başlayacağı, hata ya da diğer iş öğesi:
İş öğ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.
Ç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 |
---|
Þ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.
Hata 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.
Sı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:
İ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.
Kod gözden geçirme istemek için
İç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.
Bir veya daha fazla gözden geçirenlerin belirtin.
Gözden geçirme adını belirtin.
Ağ yolunu belirtin.
Gözden geçirenlerin açıklama belirtin.
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 |
---|
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. |
Kod gözden geçirme gerçekleştirmek için
İçinde Team Explorer, Çalışmam sayfasına gidin Benim kod incelemelerini & İstekleri bölümünde ve isteğini açın.
Ü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.
Kod 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.
İç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.
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.
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.
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:
İ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.
Düzeltme denetlemek için
İçinde Team Explorer, Çalışmam sayfasında, seçim Check ın.
İç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.
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.
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.
Görevde çalışmayı sürdürmek için
İç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.
Ne zaman çalışmaya devam
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