Devops geliştiricisinin hayatındaki gün: Kullanıcı hikayesi için yeni kod yazma

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Bu öğreticide, uygulamanızı oluşturmak için sizin ve ekibinizin en son Team Foundation Sürüm Denetimi (TFVC) ve Visual Studio sürümlerinden nasıl maksimum avantaj elde edebilirsiniz? Öğreticide kodu kullanıma almak ve güncelleştirmek, kesintiye uğradığınızda çalışmayı askıya almak, kod incelemesi istemek, değişikliklerinizi iade etmek ve diğer görevleri yerine getirmek için Visual Studio ve TFVC'yi nasıl kullanabileceğinize ilişkin örnekler sağlanır.

Bir ekip, kodunu yönetmek için Visual Studio ve TFVC'yi benimsediğinde, sunucu ve istemci makinelerini ayarlar, kapsam oluşturur, yineleme planlar ve uygulamalarını geliştirmeye başlamak için gereken diğer planlamaları tamamlar.

Geliştiriciler, üzerinde çalışacak görevleri seçmek için kapsamlarını gözden geçirir. Geliştirmeyi planladıkları kod için birim testleri yazar. Genellikle testleri bir saat içinde birkaç kez çalıştırır, aşamalı olarak daha ayrıntılı testler yazar ve sonra geçmelerini sağlayan kodu yazar. Geliştiriciler genellikle kod arabirimlerini yazdıkları yöntemi kullanacak iş arkadaşlarıyla tartışırlar.

Visual Studio My Work ve Code Review araçları, geliştiricilerin çalışmalarını yönetmesine ve iş arkadaşlarıyla işbirliği yapmasına yardımcı olur.

Not

Visual Studio çalışmam ve kod gözden geçirme özellikleri aşağıdaki sürümlerle kullanılabilir:

  • Visual Studio 2022: Visual Studio Community, Visual Studio Professional ve Visual Studio Enterprise
  • Visual Studio 2019: Visual Studio Professional ve Visual Studio Enterprise

İş öğelerini gözden geçirme ve çalışmaya başlamaya hazırlanma

Ekip, geçerli sprint sırasında ürün kapsamındaki en öncelikli öğe olan Fatura durumunu değerlendirme konusunda çalışmanız konusunda anlaştı. En yüksek öncelikli kapsam öğesinin alt görevi olan Matematik işlevlerini uygula ile başlamaya karar verirsiniz.

Visual Studio Ekip Gezgini'ndeki Çalışmam sayfasında, bu görevi Kullanılabilir İş Öğeleri listesinden Devam Eden Çalışma listesine sürüklersiniz.

Kapsamınızı gözden geçirmek ve görevleri çalışmaya başlamak üzere hazırlamak için

Çalışmam sayfasının ekran görüntüsü.

  1. Ekip Gezgini'nde, çalışmak istediğiniz projeye henüz bağlı değilseniz projeye bağlanın.

  2. Giriş sayfasında Çalışmam'ı seçin.

  3. Çalışmam sayfasında, görevi Kullanılabilir İş Öğeleri listesinden Devam Eden Çalışma bölümüne sürükleyin.

    Ayrıca, Kullanılabilir İş Öğeleri listesinden görevi ve ardından Başlat'ı seçebilirsiniz.

Artımlı çalışma planı taslağı

Bir dizi küçük adımda kod geliştirirsiniz. Her adım genellikle bir saatten uzun sürmez ve 10 dakika kadar sürebilir. Her adımda yeni bir birim testi yazar ve geliştirdiğiniz kodu, önceden yazdığınız testlere ek olarak yeni testi geçecek şekilde değiştirirsiniz. Bazen kodu değiştirmeden önce yeni testi yazar, bazen de testi yazmadan önce kodu değiştirirsiniz. Bazen yeniden düzenlemeniz gerekir. Yani, yeni testler eklemeden kodu geliştirirsiniz. Bir gereksinimi doğru şekilde temsil etmediğine karar vermediğiniz sürece, geçen bir testi asla değiştirmezsiniz.

Her küçük adımın sonunda, kodun bu alanıyla ilgili tüm birim testlerini çalıştırırsınız. Her test geçene kadar adımın tamamlanmasını dikkate almazsınız.

Görevin tamamını tamamlayana kadar kodu Azure DevOps Server'a iade etmeyin.

Bu küçük adım dizisi için kaba bir plan yazabilirsiniz. Siz çalışırken sonrakilerin tam ayrıntılarının ve sırasının büyük olasılıkla değişeceğini biliyorsunuz. Bu görev için ilk adım listesi aşağıdadır:

  1. Test yöntemi saptaması oluşturma, yani yalnızca yöntemin imzası.
  2. Belirli bir tipik olayı karşılar.
  3. Geniş bir aralığı test edin. Kodun çok çeşitli değerlere doğru yanıt verdiğinden emin olun.
  4. Negatifte özel durum. Yanlış parametrelerle düzgün bir şekilde anlaşma.
  5. Kod kapsamı. Kodun en az %80'inin birim testleri tarafından gerçekleştirildiğinden emin olun.

Bazı geliştiriciler, test kodundaki açıklamalarda bu tür bir plan yazar. Diğerleri sadece planlarını ezberler. Adım listenizi Görev iş öğesinin Açıklama alanına yazmak yararlı olabilir. Geçici olarak daha acil bir göreve geçmeniz gerekiyorsa, geri dönebileceğiniz zaman listeyi nerede bulabileceğinizi bilirsiniz.

İlk birim testini oluşturma

Bir birim testi oluşturarak başlayın. Yeni sınıfınızı kullanan bir kod örneği yazmak istediğiniz için birim testiyle başlayın.

Bu, test ettiğiniz sınıf kitaplığı için ilk birim testi olduğundan yeni bir birim testi projesi oluşturursunuz.

  1. Dosya>Yeni Proje'yi seçin.
  2. Yeni proje oluştur iletişim kutusunda Tüm diller'in yanındaki oku seçin ve C# öğesini seçin, Tüm proje türleri'nin yanındaki oku seçin ve Test'i ve ardından MSTest Test Projesi'ni seçin.
  3. İleri'yi ve ardından Oluştur'u seçin.

Yeni proje oluştur iletişim kutusunda seçilen Birim Testi'nin ekran görüntüsü.

Kod düzenleyicisinde, UnitTest1.cs içeriğini aşağıdaki kodla değiştirin. Bu aşamada, yalnızca yeni yöntemlerden birinin nasıl çağrılacağını göstermek istiyorsunuz:

using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace Fabrikam.Math.UnitTest
{
    [TestClass]
    public class UnitTest1
    {
        [TestMethod]
        // Demonstrates how to call the method.
        public void SignatureTest()
        {
            // Create an instance:
            var math = new Fabrikam.Math.LocalMath();

            // Get a value to calculate:
            double input = 0.0;

            // Call the method:
            double actualResult = math.SquareRoot(input);

            // Use the result:
            Assert.AreEqual(0.0, actualResult);
        }
    }
}

Örneği bir test yönteminde yazarsınız çünkü kodunuzu yazarken örneğin çalışmasını istersiniz.

Birim testi projesi ve yöntemleri oluşturmak için

Genellikle test edilen her proje için yeni bir test projesi oluşturursunuz. Bir test projesi zaten varsa, yalnızca yeni test yöntemleri ve sınıfları ekleyebilirsiniz.

Bu öğreticide Visual Studio Unit Test Framework kullanılır, ancak diğer sağlayıcılardan çerçeveler de kullanabilirsiniz. Uygun bağdaştırıcıyı yüklemeniz koşuluyla, Test Gezgini diğer çerçevelerle eşit derecede iyi çalışır.

  1. Önceki adımları kullanarak bir Test projesi oluşturun. C#, F# ve Visual Basic gibi dilleri seçebilirsiniz.

  2. Testlerinizi sağlanan test sınıfına ekleyin. Her birim testi bir yöntemdir.

    • Her birim testinin ön eki özniteliğine TestMethod eklenmelidir ve birim testi yönteminde parametre olmamalıdır. Birim testi yöntemi için istediğiniz herhangi bir adı kullanabilirsiniz:

      [TestMethod]
      public void SignatureTest()
      {...}
      
      <TestMethod()>
      Public Sub SignatureTest()
      ...
      End Sub
      
    • Her test yöntemi, başarılı mı yoksa başarısız mı olduğunu belirtmek için sınıfının bir yöntemini Assert çağırmalıdır. Genellikle, bir işlemin beklenen ve gerçek sonuçlarının eşit olduğunu doğrularsınız:

      Assert.AreEqual(expectedResult, actualResult);
      
      Assert.AreEqual(expectedResult, actualResult)
      
    • Test yöntemleriniz özniteliği olmayan TestMethod diğer sıradan yöntemleri çağırabilir.

    • Testlerinizi birden fazla sınıfta düzenleyebilirsiniz. Her sınıfın ön eki özniteliğine TestClass eklenmelidir.

      [TestClass]
      public class UnitTest1
      { ... }
      
      <TestClass()>
      Public Class UnitTest1
      ...
      End Class
      

C++'da birim testleri yazma hakkında bilgi için bkz . C++ için Microsoft Unit Testing Framework ile C/C++ için Birim testleri yazma.

Yeni kod için saplama oluşturma

Ardından, yeni kodunuz için bir sınıf kitaplığı projesi oluşturun. Artık geliştirme aşamasında olan kod için bir proje ve birim testleri için bir proje vardır. Geliştirme aşamasındaki koda test projesinden bir proje başvurusu ekleyin.

Test ve Sınıf projeleriyle Çözüm Gezgini ekran görüntüsü.

Yeni projede, en azından testin başarıyla oluşturulmasına izin verecek yeni sınıfını ve yönteminin en düşük sürümünü eklersiniz. Bunu gerçekleştirmenin en hızlı yolu, testteki çağrıdan bir sınıf ve yöntem saptaması oluşturmaktır.

public double SquareRoot(double p)
{
    throw new NotImplementedException();
}

Testlerden sınıflar ve yöntemler oluşturmak için

İlk olarak, henüz mevcut değilse yeni sınıfı eklemek istediğiniz projeyi oluşturun.

Sınıf oluşturmak için

  1. İmleci oluşturmak istediğiniz sınıfın örneğinin üzerine getirin (örneğin, LocalMath) ve Hızlı Eylemler ve Yeniden Düzenlemeler'i seçin.
  2. Kısayol menüsünde Yeni tür oluştur'u seçin.
  3. Tür Oluştur iletişim kutusunda Project'i sınıf kitaplığı projesi olarak ayarlayın. Bu örnekte Fabrikam.Math'tir.

Yöntem oluşturmak için

  1. İmleci yöntemine yönelik bir çağrının üzerine getirin( örneğin, SquareRoot) ve Hızlı Eylemler ve Yeniden Düzenlemeler'i seçin.
  2. Kısayol menüsünde 'SquareRoot' yöntemi oluştur'u seçin.

İlk testi çalıştırma

Testi derleyin ve çalıştırın. Test sonucu kırmızı bir Başarısız göstergesi gösterir ve test Başarısız Testler listesinin altında görünür.

Bir testin başarısız olduğunu gösteren Test Gezgini'nin ekran görüntüsü.

Kodda basit bir değişiklik yapın:

public double SquareRoot(double p)
{
    return 0.0;
}

Testi yeniden çalıştırdığınızda geçer.

Bir testin başarılı olduğu Birim Test Gezgini'nin ekran görüntüsü.

Birim testlerini çalıştırmak için

Birim testlerini çalıştırmak için:

  • Test>Tüm Testleri Çalıştır'ı seçin
  • Veya Test Gezgini açıksa, Görünümde Tüm Testleri Çalıştır veya Çalıştır'ı seçin.

Tümünü Çalıştır düğmesini gösteren Test Gezgini'nin ekran görüntüsü.

Başarısız Testler altında bir test görünürse, örneğin ada çift tıklayarak testi açın. Testin başarısız olduğu nokta kod düzenleyicisinde görüntülenir.

  • Testlerin tam listesini görmek için Tümünü Göster'i seçin.

  • Test sonucunun ayrıntılarını görmek için Test Gezgini'nde testi seçin.

  • Testin koduna gitmek için Test Gezgini'nde teste çift tıklayın veya kısayol menüsünde Testi Aç'ı seçin.

  • Testte hata ayıklamak için, bir veya daha fazla test için kısayol menüsünü açın ve ardından Hata Ayıkla'yı seçin.

  • Çözümü her oluşturduğunuzda testleri arka planda çalıştırmak için Ayarlar simgesinin yanındaki oku seçin ve ardından Derlemeden Sonra Testleri Çalıştır'ı seçin. Daha önce başarısız olan testler önce çalıştırılır.

Arabirimde kabul edin

Ekranınızı paylaşarak bileşeninizi kullanacak iş arkadaşlarınızla işbirliği yapabilirsiniz. bir iş arkadaşı, birçok işlevin önceki testi geçebileceğine dair yorumda bulunabilir. Bu testin yalnızca işlevin adının ve parametrelerinin doğru olduğundan emin olmak için olduğunu ve şimdi bu işlevin ana gereksinimini yakalayan bir test yazabileceğinizi açıklayın.

Aşağıdaki testi yazmak için iş arkadaşlarınızla işbirliği yaparsınız:

[TestMethod]
public void QuickNonZero()
{
    // Create an instance to test:
    LocalMath math = new LocalMath();

    // Create a test input and expected value:
    var expectedResult = 4.0;
    var inputValue = expectedResult * expectedResult;

    // Run the method:
    var actualResult = math.SquareRoot(inputValue);

    // Validate the result:
    var allowableError = expectedResult/1e6;
    Assert.AreEqual(expectedResult, actualResult, allowableError,
        "{0} is not within {1} of {2}", actualResult, allowableError, expectedResult);
}

İpucu

Bu işlev için, ilk test geliştirmesini kullanırsınız; burada ilk olarak bir özellik için birim testi yazarsınız ve ardından testi karşılayan kod yazarsınız. Diğer durumlarda bu uygulama gerçekçi olmadığından, kodu yazdıktan sonra testleri yazarsınız. Ancak kodun kararlı kalmasını sağladığından, koddan önce veya sonra birim testleri yazmak çok önemlidir.

Kırmızı, Yeşil, Yeniden Düzenleme...

Bir testi tekrar tekrar yazdığınız ve başarısız olduğunu onayladığınız bir döngüyü izleyin, test geçişini yapmak için kod yazın ve ardından testleri değiştirmeden kodu geliştiren yeniden düzenlemeyi göz önünde bulundurun.

Kırmızı

Oluşturduğunuz yeni test de dahil olmak üzere tüm testleri çalıştırın. Herhangi bir test yazdıktan sonra, başarılı olmasını sağlayan kodu yazmadan önce her zaman başarısız olduğundan emin olmak için bu testi çalıştırın. Örneğin, yazdığınız bazı testlere onayları yerleştirmeyi unutursanız, Başarısız sonucunu görmek başarılı olduğunuzda test sonucunun bir gereksinimin karşılandığını doğru şekilde gösterdiğine güven verir.

Bir diğer yararlı uygulama da Derlemeden Sonra Testleri Çalıştır'ı ayarlamaktır. Bu seçenek, çözümü her oluşturduğunuzda testleri arka planda çalıştırır, böylece kodunuzun test durumunu sürekli olarak rapor edebilirsiniz. Bu uygulamanın Visual Studio'yu yavaş yanıt vermesinden endişe duyabilirsiniz, ancak bu nadiren gerçekleşir.

Bir testin başarısız olduğu Test Gezgini'nin ekran görüntüsü.

Yeşil

İlk denemenizi geliştirmekte olduğunuz yöntemin koduna yazar:

public class LocalMath
{
    public double SquareRoot(double x)
    {
        double estimate = x;
        double previousEstimate = -x;
        while (System.Math.Abs(estimate - previousEstimate) > estimate / 1000)
        {
            previousEstimate = estimate;
            estimate = (estimate * estimate - x) / (2 * estimate);
        }
        return estimate;
    }

Testleri yeniden çalıştırın ve tüm testler başarılı olur.

İki testin geçtiği Birim Test Gezgini'nin ekran görüntüsü.

Yeniden düzenleme

Kod ana işlevini gerçekleştirdiğinden, daha iyi performans göstermenin yollarını bulmak veya gelecekte değiştirilmesini kolaylaştırmak için koda bakın. Döngüde gerçekleştirilen hesaplama sayısını azaltabilirsiniz:

public class LocalMath
{
    public double SquareRoot(double x)
    {
        double estimate = x;
        double previousEstimate = -x;
        while (System.Math.Abs(estimate - previousEstimate) > estimate / 1000)
        {
            previousEstimate = estimate; 
            estimate = (estimate + x / estimate) / 2;
            //was: estimate = (estimate * estimate - x) / (2 * estimate);
        }
        return estimate;
    }

Testlerin yine de geçtiğini doğrulayın.

İpuçları

  • Kodu geliştirirken yaptığınız her değişiklik yeniden düzenleme veya uzantı olmalıdır:

    • Yeniden düzenleme, yeni işlevler eklemediğiniz için testleri değiştirmediğiniz anlamına gelir.
    • Uzantı, testleri eklemek ve hem mevcut hem de yeni testleri geçirmek için gereken kod değişikliklerini yapmak anlamına gelir.
  • Mevcut kodu değiştirilmiş gereksinimlere güncelleştiriyorsanız, artık geçerli gereksinimleri temsil etmeyen eski testleri de silebilirsiniz.

  • Zaten geçmiş testleri değiştirmekten kaçının. Bunun yerine yeni testler ekleyin. Yalnızca gerçek bir gereksinimi temsil eden testler yazın.

  • Her değişiklik sonrasında testleri çalıştırın.

... ve yineleyin

Küçük adımlar listenizi kaba bir kılavuz olarak kullanarak uzantı ve yeniden düzenleme adımları serinize devam edin. Her uzantıdan sonra her zaman bir yeniden düzenleme adımı gerçekleştirmezsiniz ve bazen birden fazla yeniden düzenleme adımı sırayla yaparsınız. Ancak kodda yapılan her değişiklik sonrasında her zaman birim testlerini çalıştırırsınız.

Bazen kodda değişiklik gerektirmeyen bir test eklersiniz, ancak bu da kodun doğru çalıştığına dair güveninizi artırır. Örneğin, işlevin çok çeşitli girişler üzerinde çalıştığından emin olmak istiyorsunuz. Aşağıdaki gibi daha fazla test yazabilirsiniz:

[TestMethod]
public void SqRtValueRange()
{
    LocalMath math = new LocalMath();
    for (double expectedResult = 1e-8;
        expectedResult < 1e+8;
        expectedResult = expectedResult * 3.2)
    {
        VerifyOneRootValue(math, expectedResult);
    }
}
private void VerifyOneRootValue(LocalMath math, double expectedResult)
{
    double input = expectedResult * expectedResult;
    double actualResult = math.SquareRoot(input);
    Assert.AreEqual(expectedResult, actualResult, expectedResult / 1e6);
}

Bu test ilk kez çalıştırıldığında geçer.

Üç testin geçtiği Test Gezgini'nin ekran görüntüsü.

Bu sonucun bir hata olmadığından emin olmak için testinize geçici olarak küçük bir hata görüntüleyebilir ve başarısız olmasını sağlayabilirsiniz. Hatayı gördükten sonra yeniden düzeltebilirsiniz.

İpucu

Başarılı olmadan önce her zaman bir testin başarısız olmasını sağlayın.

Özel durumlar

Şimdi olağanüstü girişler için test yazmaya geçin:

[TestMethod]
public void RootTestNegativeInput()
{
    LocalMath math = new LocalMath();
    try
    {
        math.SquareRoot(-10.0);
    }
    catch (ArgumentOutOfRangeException)
    {
        return;
    }
    catch
    {
        Assert.Fail("Wrong exception on negative input");
        return;
    }
    Assert.Fail("No exception on negative input");
}

Bu test kodu bir döngüye yerleştirir. Test Gezgini'nde İptal düğmesini kullanmanız gerekir. Bu, kodu 10 saniye içinde sonlandırır.

Derleme sunucusunda sonsuz bir döngünün gerçekleşemediğinden emin olmak istiyorsunuz. Sunucu tam bir çalıştırmada zaman aşımı uygulasa da, çok uzun bir zaman aşımıdır ve önemli gecikmelere neden olur. Bu nedenle, bu teste açık bir zaman aşımı ekleyebilirsiniz:

[TestMethod, Timeout(1000)]
public void RootTestNegativeInput()
{...

Açık zaman aşımı testin başarısız olmasına neden olur.

Bu olağanüstü durumla başa çıkmak için kodu güncelleştirin:

public double SquareRoot(double x)
{
    if (x <= 0.0) 
    {
        throw new ArgumentOutOfRangeException();
    }

Regresyon

Yeni test geçse de bir regresyon var. Eskiden geçen bir test şimdi başarısız oluyor:

Daha önce geçirilen Birim Testi başarısız oldu ekran görüntüsü.

Hatayı bulun ve düzeltin:

public double SquareRoot(double x)
{
    if (x < 0.0)  // not <=
    {
        throw new ArgumentOutOfRangeException();
    }

Düzeltildikten sonra tüm testler geçer:

Dört testin geçtiği Birim Testi Gezgini'nin ekran görüntüsü.

İpucu

Kodda yaptığınız her değişiklikten sonra her testin geçtiğinden emin olun.

Kod kapsamı

Çalışmanız sırasında aralıklarla ve son olarak kodu iade etmeden önce bir kod kapsamı raporu alın. Bu, testleriniz tarafından kodun ne kadarının kullanıldığını gösterir.

Ekibiniz en az %80'i kapsamayı hedefler. Bu tür bir kod için yüksek kapsam elde etmek zor olabileceğinden, oluşturulan kod için bu gereksinimi gevşetiyorlar.

İyi kapsam, bileşenin tüm işlevlerinin test edildiğini garanti etmez ve kodun her giriş değeri aralığı için çalışacağını garanti etmez. Bununla birlikte, kod satırlarının kapsamı ile bir bileşenin davranış alanı kapsamı arasında oldukça yakın bir bağıntı vardır. Bu nedenle iyi kapsam, ekibin olması gereken davranışların çoğunu test etme güvenini güçlendirir.

Kod kapsamı raporu almak için Visual Studio Test menüsünde Tüm Testler için Kod Kapsamını Analiz Et'i seçin. Tüm testler yeniden çalıştırılır.

Kod Kapsamı sonucunun ve Rengi Göster düğmesinin ekran görüntüsü.

Rapordaki toplamı genişlettiğinizde, geliştirmekte olduğunuz kodun eksiksiz kapsamı olduğunu gösterir. Bu çok tatmin edicidir, çünkü önemli puan test altındaki kod içindir. Ortaya çıkarılan bölümler aslında testlerin kendilerindedir.

Kod Kapsamını Göster Renklendirme düğmesini değiştirerek test kodunun hangi bölümlerinin alıştırma yapılmadığını görebilirsiniz. Testlerde kullanılmayan kod turuncu renkle vurgulanır. Ancak bu bölümler, test kodunda oldukları ve yalnızca bir hata algılandığında kullanılacakları için kapsam açısından önemli değildir.

Belirli bir testin kodun belirli dallarına ulaştığını doğrulamak için Kod Kapsamı Renklendirmesini Göster'i ayarlayabilir ve ardından kısayol menüsündeki Çalıştır komutunu kullanarak tek testi çalıştırabilirsiniz.

İşiniz ne zaman bitti?

Aşağıdaki adımları tamamlayana kadar kodu küçük adımlarla güncelleştirmeye devam edebilirsiniz:

  • Kullanılabilir tüm birim testleri geçer.

    Çok büyük birim testleri kümesine sahip bir projede, bir geliştiricinin tümünün çalışmasını beklemesi pratik olmayabilir. Bunun yerine proje, kaynak ağaçla birleştirilmeden önce iade edilen her raf kümesi için tüm otomatik testlerin çalıştırıldığı bir geçitli iade hizmeti çalıştırır. Çalıştırma başarısız olursa iade reddedilir. Bu, geliştiricilerin kendi makinelerinde çok az birim testi çalıştırmasına ve ardından derlemeyi bozma riski olmadan diğer çalışmalara devam etmesine olanak tanır. Daha fazla bilgi için bkz . Değişiklikleri doğrulamak için geçitli iade derleme işlemi kullanma.

  • Kod kapsamı, ekibin standardına uygun olur. %75 tipik bir proje gereksinimidir.

  • Birim testleriniz, hem tipik hem de istisnai girişler dahil olmak üzere gerekli olan davranışın her yönünün simülasyonunu oluşturur.

  • Kodunuzu anlamak ve genişletmek kolaydır.

Tüm bu ölçütler karşılandığında kodunuzu kaynak denetimine denetlemeye hazır olursunuz.

Birim testleriyle kod geliştirme ilkeleri

Kod geliştirirken aşağıdaki ilkeleri uygulayın:

  • Kodla birlikte birim testleri geliştirin ve geliştirme sırasında bunları sık sık çalıştırın. Birim testleri, bileşeninizin belirtimini temsil eder.
  • Gereksinimler değişmediği veya testler yanlış olmadığı sürece birim testlerini değiştirmeyin. Kodun işlevselliğini genişlettikçe yeni testleri aşamalı olarak ekleyin.
  • Kodunuzun en az %75'ini testlerin kapsamına almayı hedefleyin. Kod kapsamı sonuçlarına aralıklarla ve kaynak kodu iade etmeden önce bakın.
  • Sürekli veya normal sunucu derlemeleri tarafından çalıştırılabilmesi için birim testlerinizi kodla birlikte denetleyin.
  • Pratik olduğu durumlarda, her işlev parçası için önce birim testini yazın. Bunu, onu karşılayan kodu geliştirmeden önce yapın.

Değişiklikleri iade edin

Değişiklikleri denetlemeden önce, kendi oluşturduklarınızı sizinle resmi olmayan ve etkileşimli bir şekilde gözden geçirebilmeleri için ekranınızı iş arkadaşlarınızla yeniden paylaşın. Testler, kodun nasıl çalıştığıyla değil, öncelikli olarak ne yaptığıyla ilgilenen iş arkadaşlarınızla tartışmalarınızın odağı olmaya devam eder. Bu iş arkadaşlarınız, yazdıklarının ihtiyaçlarını karşıladığını kabul etmelidir.

Hem testler hem de kod dahil olmak üzere yaptığınız tüm değişiklikleri denetleyin ve tamamladığınız görevlerle ilişkilendirin. İade işlemi, ekibin CI Derleme derleme işlemini kullanarak değişikliklerinizi doğrulamak için ekibin otomatik ekip derleme sistemini kuyruğa alır. Bu derleme işlemi, ekibin geliştirme bilgisayarlarından ayrı temiz bir ortamda, ekibin yaptığı her değişikliği oluşturup test ederek kod tabanındaki hataları en aza indirmesine yardımcı olur.

Derleme tamamlandığında size bildirilir. Derleme sonuçları penceresinde derlemenin başarılı olduğunu ve tüm testlerin geçtiğini görürsünüz.

Değişiklikleri iade etmek için

  1. Ekip Gezgini'ndeki Çalışmam sayfasında İade et'i seçin.

    Çalışmam'dan giriş ekran görüntüsü.

  2. Bekleyen Değişiklikler sayfasında şunları yaptığınızdan emin olun:

    • Tüm ilgili değişiklikler, Eklenen Değişiklikler'de listelenir.
    • tüm ilgili iş öğeleri İlgili İş Öğeleri'nde listelenir.
  3. Ekibinizin değiştirilen dosya ve klasörlerin sürüm denetimi geçmişine baktığında bu değişikliklerin amacını anlamasına yardımcı olmak için bir Açıklama girin.

  4. Kontrol'ı seçin.

    Bekleyen Değişiklikler'i iade işleminin ekran görüntüsü.

Kodu sürekli tümleştirmek için

Sürekli tümleştirme derleme işlemini tanımlama hakkında daha fazla bilgi için bkz . CI derlemesi ayarlama. Bu derleme işlemini ayarladıktan sonra ekip derlemelerinin sonuçları hakkında bildirim almayı seçebilirsiniz.

Başarılı bir derleme içeren Derlemelerim sayfasının ekran görüntüsü.

Daha fazla bilgi için bkz . Derlemeleri çalıştırma, izleme ve yönetme.

Sonraki adımlar